删除所有非单词字符,但“。” - php

删除文件名中所有非单词字符的最简单方法是什么?

显然需要扩展名末尾的点,因此应删除“ -”或“ *”或“ ?”之类的所有符号

像这样:

$filename = preg_replace("/[^\.]\W/", "", $filename);

参考方案

我会用这样的东西:

$filename = preg_replace("/\W(?=.*\.[^.]*$)/", "", $filename);

正则表达式将匹配文件名中的任何非单词字符(此处的“单词字符”由类[a-zA-Z0-9_]定义),只要存在扩展名即可。

这还将考虑可能的文件名,例如file.name.txt并正确返回filename.txt(第一个点不是文件扩展名的点)。

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_replace和号 - php

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

PHP preg_replace替换数字以及特殊字符 - php

我有以下PHP代码可从变量中删除特殊字符;<?php $name = "my%^$@#name8"; $patterns = array( '/\s+/' => '_', '/&/' => 'and', '/[^[:alph…