Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何替换单词前后的空格_Php_Preg Replace - Fatal编程技术网

Php 如何替换单词前后的空格

Php 如何替换单词前后的空格,php,preg-replace,Php,Preg Replace,我所拥有的: 所有真实结果都必须转换为链接,而所有错误结果都不能转换为链接 preg_replace必须捕获一个“something@staticword“并将其转换为链接,前后都有空格或结尾没有空格 例如: 1行-无链接-纯文本 2线hello@staticword必须转换为链接 问题: 我不能在第1行和第4行上得到错误的结果您可以使用以下模式: $pattern = '~(?<!@)\b([^\s@]++@staticword)\b(?!@)~'; $replacement = '&l

我所拥有的:

所有真实结果都必须转换为链接,而所有错误结果都不能转换为链接

preg_replace必须捕获一个“something@staticword“并将其转换为链接,前后都有空格或结尾没有空格

例如:

1行-无链接-纯文本

2线hello@staticword必须转换为链接

问题:


我不能在第1行和第4行上得到错误的结果

您可以使用以下模式:

$pattern = '~(?<!@)\b([^\s@]++@staticword)\b(?!@)~';
$replacement = '<img src="image.png" alt="" /><a href="http://$1.site.com/">$1</a>';
$text = preg_replace($pattern, $replacement, $text);

$pattern='~(?非常感谢您节省了我失去的时间:)!!你是正则表达式大师:p
echo $text;
$pattern = '~(?<!@)\b([^\s@]++@staticword)\b(?!@)~';
$replacement = '<img src="image.png" alt="" /><a href="http://$1.site.com/">$1</a>';
$text = preg_replace($pattern, $replacement, $text);