标签: preg-replace

preg_replace 一次替换多个模式

我在 $subject 上应用的替换很少,但我不想让旧替换 #(1 .. i-1) 的输出与当前替换 #i 匹配。

$subject1 = preg_replace($pat0, $rep0, $subject0);
$subject2 = preg_replace($pat1, $rep1, $subject1);
$subject3 = preg_replace($pat2, $rep2, $subject2);
Run Code Online (Sandbox Code Playgroud)

我尝试将一个preg_replace与数组用于模式和替换,希望它能够立即实现;但结果证明只是连续调用简单的preg_replace(当然有一些优化)

在我阅读了preg_replace_callback 之后,我想这不是一个解决方案。

有什么帮助吗?

php regex preg-replace preg-replace-callback

3
推荐指数
1
解决办法
4516
查看次数

PHP Preg表达式从字符串中删除html标签和内部内容?

快速的问题.

我想从以下字符串中删除sup标记,以及其中的所有内容.

$string = "Priority Mail<sup>&reg;</sup> International";
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

php expression preg-replace

3
推荐指数
1
解决办法
8469
查看次数

preg_replace()模式删除php中的括号和内容

我想使用preg_replace()删除包含其内容的括号,但我无法在模式中使用延迟(非贪婪),因为结束括号是结束字符,括号之间的文本始终是随机字符长度,可以包含数字,下划线和连字符.

码-

$array = array(
   "Text i want to keep (txt to remove)",
   "Random txt (some more random txt)",
   "Keep this (remove)",
   "I like bananas  (txt)"
);

$pattern = "@pattern@";
foreach($array as $new_txt){
   $new_outputs .= preg_replace($pattern, '', $new_txt)."\n";
}
echo $new_outputs;
Run Code Online (Sandbox Code Playgroud)

想要输出 -

Text i want to keep
Random txt
Keep this
I like bananas
Run Code Online (Sandbox Code Playgroud)

我不太使用正则表达式,找不到任何解决我问题的方法.

php design-patterns preg-replace

3
推荐指数
1
解决办法
1万
查看次数

删除除换行符、回车符、制表符和空格之外的所有控制和非打印字符

原谅我,但是当我查看正则表达式时,它就像一只山羊盯着新围栏。

这 ( /\p{C}+/u) 似乎工作正常,但去掉了换行符/回车符和制表符:

$str = "
<pre>
    te" . chr(31) . "st

   test
</pre>
";

echo $str;
echo preg_replace('/\p{C}+/u', '',$str);
Run Code Online (Sandbox Code Playgroud)

我怎么会把它们留在里面?

php regex preg-replace

3
推荐指数
1
解决办法
1699
查看次数

PHP 从字符串中删除特殊字符并留下一些

我需要从字符串中删除所有特殊字符,除了 - ( )

到目前为止我有这个代码

$q = preg_replace('/[^A-Za-z0-9\-]/', '', $q); //removes ALL characters
Run Code Online (Sandbox Code Playgroud)

如何排除- ( )

php regex preg-replace

3
推荐指数
1
解决办法
2万
查看次数

如何在PHP中删除特殊字符并保留任何语言的字母?

我知道这应该从字符串中删除任何字符,只保留数字和英文字母。

$txtafter = preg_replace("/[^a-zA-Z 0-9]+/","",$txtbefore);
Run Code Online (Sandbox Code Playgroud)

但我希望删除任何特殊字符并保留任何语言(如阿拉伯语或日语)的任何字母。

php preg-replace

3
推荐指数
1
解决办法
2949
查看次数

如何从问号后的网址中删除内容。preg_match 还是 preg_replace?

我正在研究一些函数,用简单的 html dom 从 url 中获取少量数据。

但是其中一个数据是图像,图像后面有问号和更多信息。

所以 url 的例子是这样的。

http://somesite.com/uploaded/images/8.jpg?m=eSuQKgaaaa&mh=t0i7nVhjZleTJ5Ih
Run Code Online (Sandbox Code Playgroud)

所以这个问号后面的内容是某种将图像调整为小尺寸的代码。

如果我只是接受这个

http://somesite.com/uploaded/images/8.jpg
Run Code Online (Sandbox Code Playgroud)

图像将具有更大的分辨率,这就是我所需要的。

我知道有一个像 preg_match 这样的函数,但我从不理解其中的表达式。

我是否有可能以某种方式删除问号及其背后的所有内容?

php regex preg-replace preg-match

3
推荐指数
1
解决办法
2900
查看次数

PHP 正则表达式替换括号和括号之间的文本

我有以下字符串:

Welcome [firstname] [lastname]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用,preg_replace()以便将 [firstname] 替换为Marcello并将 [lastname] 替换为Silvestri

我只能找到获取括号内文本的方法,但我想自己替换括号。

$string = "Welcome [firstname] [lastname]";

$patterns = array();
$patterns[0] = '\[firstname\]';
$patterns[1] = '\[lastname\]';

$replacements = array();
$replacements[0] = 'Marcello';
$replacements[1] = 'Silvestri';

echo preg_replace($patterns, $array, $string]);
Run Code Online (Sandbox Code Playgroud)

我还尝试\[(.*?)\]尝试替换所有内容,而不管方括号内容如何,​​但我得到了类似的东西[Marcello],而我只想要Marcello.

如何替换包含方括号的内容?

php regex replace preg-replace

3
推荐指数
1
解决办法
2488
查看次数

如何替换字符串中除第一个字符以外的字符的出现

我想要做的是在字符串中找到问号并将其替换&为第一个除外。到目前为止我的代码:

$str = 'www.domain.com?adult=2&airport=40-48?destination=recko';        
    echo preg_replace(array('/[?]/'), '&', $str );
Run Code Online (Sandbox Code Playgroud)

输出:

www.domain.com&adult=2&airport=40-48&destination=recko
Run Code Online (Sandbox Code Playgroud)

我怎样才能忽略 的第一次出现?

php regex preg-replace

3
推荐指数
1
解决办法
1297
查看次数

删除括号前后的空格

我试图打开括号后和圆括号和方括号的括号之前删除一个或多个空格.

$s = "This is ( a sample ) [ string ] to play with"
Run Code Online (Sandbox Code Playgroud)

预期结果:

"This is (a sample) [string] to play with"
Run Code Online (Sandbox Code Playgroud)

我设法删除空格之前:

$s = preg_replace('/\s+(?=[\])])/', '', $s);
Run Code Online (Sandbox Code Playgroud)

结果:

"This is ( a sample) [ string] to play with"
Run Code Online (Sandbox Code Playgroud)

但不是空格的括号!

php regex preg-replace

3
推荐指数
1
解决办法
174
查看次数