Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_replace可删除多个匹配项_Php_Regex_Preg Replace - Fatal编程技术网

Php preg_replace可删除多个匹配项

Php preg_replace可删除多个匹配项,php,regex,preg-replace,Php,Regex,Preg Replace,我环顾四周,但找不到合适的解决方案 我有这根绳子 $area = array("Some Text area 1", "Some Text area 2", "Some Text area 33", "Some Text area 40") 我想构造一个preg_替换,删除单词区域和后面的1或2位数字 我可以这样做以删除区域1 $area = preg_replace('/area 1/','', $area); 我可以不断重复这个来删除其他匹配项,但这不是很有效 我可以只更换一次就删除图案

我环顾四周,但找不到合适的解决方案

我有这根绳子

$area = array("Some Text area 1", "Some Text area 2", "Some Text area 33", "Some Text area 40")
我想构造一个preg_替换,删除单词区域和后面的1或2位数字

我可以这样做以删除区域1

$area = preg_replace('/area 1/','', $area);
我可以不断重复这个来删除其他匹配项,但这不是很有效

我可以只更换一次就删除图案吗


提前感谢

请至少指定一位数字:
preg_替换“/区域[0-9]+/”,$area

指定至少一个数字,其中包含: preg_替换“/区域[0-9]+/”,$area

将删除文本“area”后跟数字的所有匹配项


将删除文本“area”后跟数字的所有匹配项。

是否也要删除单词area前面的空格?这方面的准则是:

$area = preg_replace('/ area \d+/', '', $area);
$i = 0;
foreach( $files as $d ){
    $file_and_name .= '<option value="'.$files[$i].'">'.str_replace('temp','',str_replace('_',' ',str_replace('.php','',$d) ) )."</option>\n";
    $i++;
}

是否还要删除单词区域前的空格?这方面的准则是:

$area = preg_replace('/ area \d+/', '', $area);
$i = 0;
foreach( $files as $d ){
    $file_and_name .= '<option value="'.$files[$i].'">'.str_replace('temp','',str_replace('_',' ',str_replace('.php','',$d) ) )."</option>\n";
    $i++;
}

在搜索类似内容时遇到此帖子:替换文本字符串中的多个术语

例如,我做了一个自动生成的下拉选择,选项基于文件名,我需要加载文件名并生成一个可读的文件名

我的文件名为:temp\u Event\u Name.php

因此,我必须删除temp、x和.php,以便有一个可选选项,该值将是传递到后续表单的文件名,该表单将使用该文件生成PDF

<select>
 <option value="temp_Event_Name_2011.php">Event 1</option>
 <option value="temp_Event_Name_2012.php">Event 2</option>
</select
在哪里 $files是一个带有文件名的数组,我是通过以下方式获得的:

$files = array();
$files = glob("temp_*.php");

显然,要将其转换成我建议的html,需要额外的格式,但这很容易。希望它能帮助@jamester或任何其他遇到此问题的人。

在搜索类似内容时遇到此帖子:替换文本字符串中的多个术语

例如,我做了一个自动生成的下拉选择,选项基于文件名,我需要加载文件名并生成一个可读的文件名

我的文件名为:temp\u Event\u Name.php

因此,我必须删除temp、x和.php,以便有一个可选选项,该值将是传递到后续表单的文件名,该表单将使用该文件生成PDF

<select>
 <option value="temp_Event_Name_2011.php">Event 1</option>
 <option value="temp_Event_Name_2012.php">Event 2</option>
</select
在哪里 $files是一个带有文件名的数组,我是通过以下方式获得的:

$files = array();
$files = glob("temp_*.php");

显然,要将其转换成我建议的html,需要额外的格式,但这很容易。希望它能帮助@jamester或任何其他遇到此问题的人。

不需要删除空间,但无论如何,很高兴知道。谢谢。不需要删除空间,但很高兴知道。谢谢