当前位置: 首页 > 知识库问答 >
问题:

替换所有不在HTML标记中的引号

汤弘文
2023-03-14
$text = preg_replace('/"(?=\w)/', "»", $text);
$text = preg_replace('/(?<=\w)"/', "&laquo;", $text);

如果你确实需要更多的信息,就说出来。

任何帮助都很感激!

编辑

<p>This is a "wonderful long text". At least it should be. Here we have a <a href="http://wwww.site-to-nowhere.com" target="_blank">link</a>.</p>
<p>This is a &raquo;wonderful long text&laquo;. At least it should be. Here we have a <a href="http://wwww.site-to-nowhere.com" target="_blank">link</a>.</p>
<p>This is a &raquo;wonderful long text&laquo;. At least it should be. Here we have a <a href=&raquo;http://wwww.site-to-nowhere.com&laquo; target=&raquo;_blank&laquo;>link</a>.</p>

共有1个答案

严令秋
2023-03-14

此regex适用于给定的字符串。

Search for   - "([^<>]*?)"(?=[^>]*?<)
Replace with - &raquo;\1&laquo;

在这里演示
测试它-

INPUT - 
<p>This is a "wonderful long text". "Another wonderful ong text" At least it should be. Here we have a <a href="http://wwww.site-to-nowhere.com" target="_blank">link</a>.</p>

OUTPUT - 
<p>This is a &raquo;wonderful long text&laquo;. &raquo;Another wonderful ong text&laquo; At least it should be. Here we have a <a href="http://wwww.site-to-nowhere.com" target="_blank">link</a>.</p>

编辑1-
在PHP中执行此操作-

$str = '<p>This is a "wonderful long text". "Another wonderful ong text" At least it should be. Here we have a <a href="http://wwww.site-to-nowhere.com" target="_blank">link</a>.</p>';
var_dump(preg_replace('/"([^<>]*?)"(?=[^>]*?<)/', '&raquo;\1&laquo', $str));

是输出-

/** OUTPUT **/
string '<p>This is a &raquo;wonderful long text&laquo. &raquo;Another wonderful ong text&laquo At least it should be. Here we have a <a href="http://wwww.site-to-nowhere.com" target="_blank">link</a>.</p>' (length=196)
echo '&raquo;\1&laquo;';
echo "&raquo;\1&laquo;";
preg_replace('/"([^<>]*?)"(?=[^>]*?<)/', '&raquo;\1&laquo;', $str)
preg_replace("/\"([^<>]*?)\"(?=[^>]*?<)/", "&raquo;\\1&laquo;", $str)
preg_replace("/\"([^<>]*?)\"(?=[^>]*?<)/", "&raquo;$1&laquo;", $str)
\"([^<>]*?)\"(?=(?:[^>]*?(?:<|$)))
 类似资料:
  • 这是我的密码 我想替换字体标签,并把span标签。在这将取代第一个字体标签但不是第二个标签

  • 问题内容: 我正在从数据库中检索数据,其中该字段包含带有HTML数据的字符串。我想替换所有的双引号,使得它可以被用于的 jQuery的 。 使用Java,我正在尝试使用替换引号。 结果字符串未显示所需的更改。O’Reilly的一篇文章规定了使用Apache字符串工具。还有其他办法吗? 是否有正则表达式或我可以使用的东西? 问题答案: 这是如何做 请注意,字符串是不可变的,因此仅仅做是不够的。您必须

  • 给定这个DOM 我正在尝试使用以下表达式来preg_match_all html标记: 此表达式的输出为: 数组 ( [0]=> [3]=> [4]=> [5]=> [6]=> [7]=> [8]=> [2]=> [3]=>[4]=>[5]=> [6]=>[7]=> 产出:

  • 问题内容: 我有这个HTML代码: 但它应该变成(对于所有可能的html标签): 问题答案: 改编自我对类似问题的回答 RegExp细分: 添加一些引号,并使用替换文本,它应该删除标记名之后的所有文本,直到标记结尾或just 为止。 请注意, 这不一定适用于 所有 输入,因为Anti-HTML + RegExp会告诉您。有一些后备功能,最明显的是会失败,还有其他一些坏的问题…我建议将Zend_Fi

  • 我需要在双引号内加粗。 当我把