我有一些像这样的HTML代码:
<a href="http://mysite.com/documentos/Servicios/SUCRE/sucDoc19.pdf&sa=U&ei=sf0JUrmjIc3Nswb154CgDQ&ved=0CCkQFjAA&usg=AFQjCNGfXg_9x83U3pYr6JfkJcWuXv8X0Q">
我需要清理我的代码以获得类似的内容
<a href="http://mysite.com/documentos/Servicios/SUCRE/sucDoc19.pdf">
使用preg_replace
。
我的代码如下:
$serp = preg_replace('&sa=(.*)" ', '" ', $serp);
它不起作用。
BTW我需要使用preg_replace限制搜索,直到FIRST入口,即我需要将所有html从&sa=
替换为FIRST "
,但现在它从&sa=
搜索到最后"
...
答案 0 :(得分:2)
答案 1 :(得分:1)
你错过了分隔符。 所以你的代码看起来像:
$serp = preg_replace('/&sa=(.*)" /', '" ', $serp);
好的,如果你要删除所有内容,直到第一个引用,那么你可以尝试以下代替正则表达式:
$temp = substr($serp,strpos($serp,'&sa='),strpos($serp,'"',strpos($serp,'&sa=')));
$serp = str_replace($temp,"",$serp);
答案 2 :(得分:0)
只是另一个正则表达式:)
$text = '<a href="http://mysite.com/documentos/Servicios/SUCRE/sucDoc19.pdf&sa=U&ei=sf0JUrmjIc3Nswb154CgDQ&ved=0CCkQFjAA&usg=AFQjCNGfXg_9x83U3pYr6JfkJcWuXv8X0Q" target="_blank">';
$text = preg_replace('/(&sa=[^"]*)/', '', $text);
echo $text;
// Output:
<a href="http://mysite.com/documentos/Servicios/SUCRE/sucDoc19.pdf" target="_blank">
您可以尝试HERE(请使用hjpotter92获取此工具)