嗨一个锚标记,我想全部替换“的引文简单引用”,但不替换“”为“非在PHP
Lorem 'ipsum' dolor sit amet, <a href="#">sit amet</a>
IM做这个$valFieldBody = str_replace('"', "''", $valFieldBody);
但全部替换“我不知道如果我能使用str_replace
或preg_replace
funcion与像!=
或<>
消极条件可以请你帮我
感谢
嗨一个锚标记,我想全部替换“的引文简单引用”,但不替换“”为“非在PHP
Lorem 'ipsum' dolor sit amet, <a href="#">sit amet</a>
IM做这个$valFieldBody = str_replace('"', "''", $valFieldBody);
但全部替换“我不知道如果我能使用str_replace
或preg_replace
funcion与像!=
或<>
消极条件可以请你帮我
感谢
preg_replace函数的功能使您可以多种组合来代替,在这种情况下,我查找字符串代替只接受空格和字母数字字符(在您的情况下是字符串“ipsum”),可以扩展为其他字符(如果需要)
字符串示例
更新代码:
$text='Lorem "ipsum" dolor sit amet, <a href="#">sit amet</a>';
$text = preg_replace('/\"([A-Za-z0-9? ,_-]+)\"(?=[^<>]*(?:<|$))/', "'$1'", $text);
echo $text;
//out--> Lorem 'ipsum' dolor sit amet, <a href="#">sit amet</a>
你可以使用一个SKIP-FAIL regex:
preg_replace('~<[^>]+>(*SKIP)(*F)|"~', "'", $valFieldBody);
图案的详细资料
<[^>]+>
- 匹配<
,1+字符以外>
,然后>
(*SKIP)(*F)
- 2 PCRE动词省略匹配的文本,使正则表达式引擎搜索下在本次比赛结束后进行比赛|
- 或"
- 在其他情况下的双引号。
@WiktorStribiżew谢谢你帮我(y) – skycomputer2
@Wiktor现在你已经发布了一个答案,请删除你的评论。 – mickmackusa