PHP从字符串中删除url-“不允许”字符 - php

我已经阅读了所有与此有关的问题,并想知道$str = preg_replace('/[^\00-\255]+/u', '', $str);是否足以满足我的情况。

我的场景

当用户在我的网站上创建帐户时,他输入其公司名称。可以是任何内容,包括带有'"的文本,甚至其他一些奇怪的字符。当他创建帐户时,我需要在服务器上创建一个文件夹,以便他无需使用uniqids等即可更轻松地访问他的帐户。

因此,例如,您为“彼得的宠物店和洗衣店”创建了一个帐户-我需要删除所有不允许作为网址地址的空格和字符。因此,最后我需要进行“ peterspetshopwashing”

这样一来,您可以在“ www.mydomain.com/peterspetshopwashing”访问您的帐户

参考方案

我目前使用的是我很满意的功能

function url($url) {
   $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url);
   $url = trim($url, "-");
   $url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
   $url = strtolower($url);
   $url = preg_replace('~[^-a-z0-9_]+~', '', $url);
   return $url;
}

它将空格和其他奇数字符替换为-,因此结果将为peter-s-pet-shop-washing

php preg_replace两个或更多空格 - php

我正在寻找替换多个空格字符的实例。我最初的搜索似乎都集中在使用/s,但这包括换行符和其他空格我认为应该接近吗?用一个空格替换两个或更多实例空格" "preg_replace('/ {2,}/', ' ', $string); 参考方案 尝试一下:preg_replace('/\s\s+/&…

PHP:Preg_replace,单词边界和非单词字符 - php

我需要替换文本中以井号(#)开头的单词。好吧,我知道如何替换整个单词。preg_replace("/\b".$variable."\b/", $value, $text);由于该\ b修饰符仅接受单词字符,因此不会替换包含井号的单词。我有这个html,其中包含#companyName类型的变量,我将其替换为一个值。 参…

PHP preg_replace删除字符串中的第一个HTML元素 - php

我想在PHP中删除html字符串(始终是一个段落)的整个第一个元素。我目前的方法是使用:$passage = preg_replace('/.*?\b'.'</p>'.'\b/s', '', $passage, 1); 由于</p>中的特殊字符,此方法不起…

PHP preg_match直到双行中断 - php

我在mysql字段中有此数据:First text text text text text text text text text text text text text text text text text text text text Second text text text text text text text text text text te…

PHP preg_replace和号 - php

好吧,我可能不会以正确的方式解决这个问题,但是这里就来了。我有这个带链接的字符串,并提取标签之间的文本...$string = $item; $pattern = '/\<a([^>]*)\>([^<]*)\<\/a\>/i'; $replacement = '$2'; $messa…