我在PHP中绝对是新的,我正在尝试使用这个函数(建立在一个教程中)执行常规异常,找到第一个链接到一个字符串(代表一个WordPress的帖子内容,但这并不重要这一次)。
function get_content_link($content = false, $echo = false){
if ( $content === false )
$content = get_the_content(); // Retrieve the post content
$content = preg_match_all( '/hrefs*=s*["']([^"']+)/', $content, $links);
$content = $links[1][0];
if ( empty($content) ) {
$content = false;
}
return $content;
}
问题是它在代表正则表达式的行上给出了语法错误:
$content = preg_match_all( '/hrefs*=s*["']([^"']+)/', $content, $links);
为什么呢?怎么了?我该如何解决这个问题?
答案 0 :(得分:5)
你need to escape单引号:
'/hrefs*=s*["\']([^"\']+)/'
答案 1 :(得分:1)
您需要跳过特殊字符:
$content = preg_match_all( '/hrefs*=s*["\']([^"\']+)/', $content, $links);