PHP - pregreplace url
PHP - pregreplace url
我正在尝试将 url 上的 preg_replace
用于 HTML 格式的图像,并将其转换为 BBCode。
发件人:<img src="http://website.com/char/sign/Name+Surname.png">
收件人:[sign]Name+Surname[/sign]
注意:png文件的文件名可以只是Name
,它可以包含中间名,如:Name+Middlename+Surname
,也可以包含-
和%2527
喜欢 Carl-Philips
或 Bob+Mc%2527Donalds
这就是我到目前为止尝试过的方法,但它没有做任何事情。我做错了什么?
$source = array(
'#\<img src=\"http\:\/\/website.com\/char\/sign\/\>(.+).png\>#isU'
);
$new = array(
'[sign][/sign]'
);
$text = preg_replace($source, $new, $text);
您以后应该为这些使用解析器 (How do you parse and process HTML/XML in PHP?)。您的正则表达式中有一些拼写错误。
这应该可以完成您想要的:
/<img src="http:\/\/website\.com\/char\/sign\/(.+?)\.png">/
演示(带有正则表达式的解释):https://regex101.com/r/sT6aG9/1
PHP 示例:
$source = '/<img src="http:\/\/website\.com\/char\/sign\/(.+?)\.png">/';
$new = '[sign][/sign]';
$text = '<img src="http://website.com/char/sign/Name+Surname.png">, <img src="http://website.com/char/sign/Bob-Robinson.png">, <img src="http://website.com/char/sign/Michael%2527Ross.png">';
$text = preg_replace($source, $new, $text);
echo $text;
输出:
[sign]Name+Surname[/sign], [sign]Bob-Robinson[/sign], [sign]Michael%2527Ross[/sign]
PHP 演示:http://3v4l.org/WC5oJ
我正在尝试将 url 上的 preg_replace
用于 HTML 格式的图像,并将其转换为 BBCode。
发件人:<img src="http://website.com/char/sign/Name+Surname.png">
收件人:[sign]Name+Surname[/sign]
注意:png文件的文件名可以只是Name
,它可以包含中间名,如:Name+Middlename+Surname
,也可以包含-
和%2527
喜欢 Carl-Philips
或 Bob+Mc%2527Donalds
这就是我到目前为止尝试过的方法,但它没有做任何事情。我做错了什么?
$source = array(
'#\<img src=\"http\:\/\/website.com\/char\/sign\/\>(.+).png\>#isU'
);
$new = array(
'[sign][/sign]'
);
$text = preg_replace($source, $new, $text);
您以后应该为这些使用解析器 (How do you parse and process HTML/XML in PHP?)。您的正则表达式中有一些拼写错误。
这应该可以完成您想要的:
/<img src="http:\/\/website\.com\/char\/sign\/(.+?)\.png">/
演示(带有正则表达式的解释):https://regex101.com/r/sT6aG9/1
PHP 示例:
$source = '/<img src="http:\/\/website\.com\/char\/sign\/(.+?)\.png">/';
$new = '[sign][/sign]';
$text = '<img src="http://website.com/char/sign/Name+Surname.png">, <img src="http://website.com/char/sign/Bob-Robinson.png">, <img src="http://website.com/char/sign/Michael%2527Ross.png">';
$text = preg_replace($source, $new, $text);
echo $text;
输出:
[sign]Name+Surname[/sign], [sign]Bob-Robinson[/sign], [sign]Michael%2527Ross[/sign]
PHP 演示:http://3v4l.org/WC5oJ