【问题标题】:How to remove the additional(extra) backslashes present in HTML anchor tags?如何删除 HTML 锚标记中存在的附加(额外)反斜杠?
【发布时间】:2015-04-09 08:22:16
【问题描述】:

我在一个名为 $text 的变量中跟踪了 HTML 字符串:

$text = <a title=\"\" href=\"https://www.filepicker.io/api/file/TXSta27QzqDnLeBXrZvX\"><img src=\"https://www.filepicker.io/api/file/TXSta27QzqDnLeBXrZvX\" height=\"150px\" width=\"150px\"></a>

<a href=\"https://www.filepicker.io/api/file/TXSta27QzqDnLeBXrZvX\" class=\"comment_attach_image_link_dwl\">Download</a>;

我想删除 HTML 字符串中存在的那些多余的反斜杠。如果你仔细观察这些反斜杠出现在属性中,就像在 title、src、height、width 等中一样。我想删除所有这些反斜杠并想要一个最终清理的 HTML 字符串。

这些额外的反斜杠并不总是出现在 HTML 字符串中。有时它存在,有时它不存在。因此,还应检查是否存在这些额外的反斜杠。只有在它们存在时才应执行清理操作。

我应该如何以可靠和有效的方式做到这一点?

谢谢。

【问题讨论】:

  • 第一行不是有效的 PHP,你需要整个字符串的引号。
  • 确定不是$text = "&lt;a title=\"\"?需要使用反斜杠来防止引号结束字符串。但它们实际上并不在字符串的值中,它们只是文字语法的一部分。

标签: php html string backslash stripslashes


【解决方案1】:

请你试试下面的功能:

<?php
echo stripslashes("Who\'s Peter Griffin?");
?>

输出:

彼得·格里芬是谁?

【讨论】:

    【解决方案2】:

    str_replace — 用替换字符串替换所有出现的搜索字符串

    $text = '<a title=\"\" href=\"https://www.filepicker.io/api/file/TXSta27QzqDnLeBXrZvX\"><img src=\"https://www.filepicker.io/api/file/TXSta27QzqDnLeBXrZvX\" height=\"150px\" width=\"150px\"></a>';
    $text = str_replace("\", "", $text);
    

    这将删除字符串中的所有反斜杠

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      相关资源
      最近更新 更多