我想在html文件中preg_replace一些字符串,但下面的代码给我错误
Warning: preg_replace() [function.preg-replace]: Delimiter must not be
alphanumeric or backslash in /wamp/www/example.php on line 12
第12行是echo preg_replace($matches[0], $results, $sourcestring);
$sourcestring=file_get_contents("example.html");
preg_match_all('/(?<=\/)\d+(?=\-)/',$sourcestring,$matches);
$results = array_unique($matches[0], SORT_NUMERIC);
$results = array_values($results);
for($i=0; $i<count($results); $i++) {
$results[$i] = 'id="news-id-'.$results[$i].'"';
}
preg_match_all('/class="title"/', $sourcestring, $matches);
echo preg_replace($matches[0], $results, $sourcestring);
答案 0 :(得分:1)
您的$matches[0]
值(类似于)class="title"
。您在preg_replace
中将其用作正则表达式。 class="title"
不是有效的正则表达式,因为它没有有效的分隔符。有效的正则表达式版本为/class="title"/
。