如何从标题中删除符号? [复制]

Posted

技术标签:

【中文标题】如何从标题中删除符号? [复制]【英文标题】:How can i remove symbol from the title? [duplicate] 【发布时间】:2014-02-28 04:54:17 【问题描述】:

我想从标题中删除符号。当任何用户在我的网站上发布他们的广告时,他们会写任何带有 "&、+、-、_、$、^、=," 等符号的内容。这种类型的符号我想从标题中自动删除。我已经尝试过空间和成功。我用“-”这个代码删除空格

  <?php 
  $title = str_replace(' ', '-', $row['title']) 
  ?>

我想要所有这些"&, +, -, _, $, ^, =," 符号。请帮帮我。

【问题讨论】:

你可能正在寻找这个:***.com/questions/7605480/… 【参考方案1】:

最好使用htmlentities PHP 函数将所有适用的字符转换为 HTML 实体:

$title = htmlentities($row['title']);

如果你真的有一个字符串 "&amp;, +, -, _, $, ^, =" 的符号,则使用它:

$symbols = explode(",", "&, +, -, _, $, ^, =");
$title = str_replace($symbols, "", $row['title']);

【讨论】:

工作正常 ofc,但不是 OP 要求的... 是的,但我认为它的意思是准确的 我还更新了答案并添加了 OP 要求的实现【参考方案2】:
<?php 
    $title = str_replace(array(" ", "&", "+", "-", "_", "$", "^", "="), '-', $row['title']);
?>

未经测试,但应该可以工作。

编辑/是的。

【讨论】:

【参考方案3】:

你可以这样做:

function clean($string) 
   $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
   return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.

在这里查看:Remove all special characters from a string

【讨论】:

这就是我提到的链接。【参考方案4】:
Try this..
<?php
$row['title'] = preg_replace('/(\&|\+|\-|\_|\s|\$|\^|\=)/','-',$row['title']);
?>

【讨论】:

【参考方案5】:

这个怎么样?

$removeme = array("=", "+", "-", "_", "$", "^", "&", " ");
$finaltitle = str_replace($removeme , "-", $title);

编辑

因此,如果您将您的标题分配给$title,然后如前所述通过str_replace 运行它,它可能类似于以下代码:

$title = 'thi=s &is my-ti&tle_and^stuff';
$removeme = array("=", "+", "-", "_", "$", "^", "&", " ");
$finaltitle = str_replace($removeme , "-", $title);
echo $finaltitle // echos 'thi-s--is-my-ti-tle-and-stuff';

如果您只是想生成一个 slug-url,我可以推荐阅读 this link 吗?

【讨论】:

返回码是什么? 我刚刚更新了我的答案

以上是关于如何从标题中删除符号? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

是否有一个函数可以从字符串中删除任何符号(%、# 等)? [复制]

如何去除重音符号并将字母变成“普通”的 ASCII 字符? [复制]

如何从字符串中删除表情符号字符?

如何从数据框中删除表情符号?

SQL Server:如何从字段中删除标点符号?

如何从价格列中删除货币符号?