我必须改变每个php的图像标签...
这是源字符串......
'picture number is <img src=get_blob.php?id=77 border=0> howto use'
结果应该是这样的
'picture number is #77# howto use'
我已经测试了很多,但我只得到图像的数量... 这是我的最后一次测试...
$content = 'picture number is <img src=get_blob.php?id=77 border=0> howto use';
$content = preg_replace('|\<img src=get_blob.php\?id=(\d+)+( border\=0\>)|e', '$1', $content);
现在$content
是77
我希望有人可以帮助我
答案 0 :(得分:1)
几乎正确。只需删除e
标志:
$content = 'picture number is <img src=get_blob.php?id=77 border=0> howto use';
$content = preg_replace('/\<img src=get_blob.php\?id=(\d+)+( border\=0\>)/', '#$1#', $content);
echo $content;
输出:
picture number is #77# howto use
有关PHP中正则表达式修饰符的更多信息,请参阅documentation。
答案 1 :(得分:1)
不要使用e
标志,这对于正则表达式占位符来说不是必需的,只需尝试一下:
preg_replace('/\<.*\?id\=([0-9]+)[^>]*>/', '#$1#', $string);
这个正则表达式确实假设id
将是src url的第一个参数,如果情况并非总是如此,请使用:
preg_replace('/\<.*[?&]id\=([0-9]+)[^>]*>/', '#$1#', $string);