标签: preg-replace

使用preg_replace仅替换第一个匹配项

我有一个结构类似于的字符串:'aba aaa cba sbd dga gad aaa cbz'.字符串每次都可能有点不同,因为它来自外部源.

我想只替换第一次出现'aaa'但不替换其他出现.可能吗?

php regex preg-replace

52
推荐指数
2
解决办法
5万
查看次数

使用preg_replace_callback替换已弃用的preg_replace/e

$result = preg_replace(
    "/\{([<>])([a-zA-Z0-9_]*)(\?{0,1})([a-zA-Z0-9_]*)\}(.*)\{\\1\/\\2\}/iseU", 
    "CallFunction('\\1','\\2','\\3','\\4','\\5')",
    $result
);
Run Code Online (Sandbox Code Playgroud)

上面的代码在升级到PHP 5.5后给出了弃用警告:

不推荐使用:preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback

如何更换代码preg_replace_callback()

php preg-replace preg-replace-callback php-5.5

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

警告:preg_replace():未知的修饰符']'

我有以下错误:

警告:preg_replace():第38行的xxx.php中的未知修饰符']'

这是第38行的代码:

<?php echo str_replace("</ul></div>", "", preg_replace("<div[^>]*><ul[^>]*>", "", wp_nav_menu(array('theme_location' => 'nav', 'echo' => false)) )); ?>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

php regex wordpress preg-replace

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

PHP替换à-> a,è-> e等特殊字符

我有php文件signup.php,它将内容从表单(在form.php文件中)保存到MySQL基础.当我想重新格式化输入内容时出现问题.我想解码像à-> a这样的UTF-8字符.

  $first_name=$_POST['first_name'];
  $last_name=$_POST['last_name'];
  $course=$_POST['course'];

  $chain="prêt-à-porter";

$pattern = array("'é'", "'è'", "'ë'", "'ê'", "'É'", "'È'", "'Ë'", "'Ê'", "'á'", "'à'", "'ä'", "'â'", "'å'", "'Á'", "'À'", "'Ä'", "'Â'", "'Å'", "'ó'", "'ò'", "'ö'", "'ô'", "'Ó'", "'Ò'", "'Ö'", "'Ô'", "'í'", "'ì'", "'ï'", "'î'", "'Í'", "'Ì'", "'Ï'", "'Î'", "'ú'", "'ù'", "'ü'", "'û'", "'Ú'", "'Ù'", "'Ü'", "'Û'", "'ý'", "'ÿ'", "'Ý'", "'ø'", "'Ø'", "'œ'", "'Œ'", "'Æ'", "'ç'", "'Ç'");

$replace = array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E', 'a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A', 'A', …
Run Code Online (Sandbox Code Playgroud)

php decode utf-8 preg-replace

42
推荐指数
6
解决办法
10万
查看次数

替换除字母,数字,空格和下划线之外的所有字符

我期待替换除字母,数字,空格和下划线之外的字符串中的所有字符.

有人可以提供一个例子吗?

php regex preg-replace ereg-replace

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

如何从php中的用户输入中删除http,https和斜杠

示例用户输入

http://domain.com/
http://domain.com/topic/
http://domain.com/topic/cars/
http://www.domain.com/topic/questions/
Run Code Online (Sandbox Code Playgroud)

我想要一个PHP函数来使输出像

domain.com
domain.com/topic/
domain.com/topic/cars/
www.domain.com/topic/questions/
Run Code Online (Sandbox Code Playgroud)

让我知道 :)

php function preg-replace

39
推荐指数
6
解决办法
4万
查看次数

如何使用preg_replace_callback?

我有以下HTML语句

[otsection]Wallpapers[/otsection]
WALLPAPERS GO HERE

[otsection]Videos[/otsection]
VIDEOS GO HERE
Run Code Online (Sandbox Code Playgroud)

我想要做的是用html div替换[otsection]标签.问题是我想从1-> 2-> 3等增加div的id.

例如,上述声明应该翻译成

<div class="otsection" id="1">Wallpapers</div>
WALLPAPERS GO HERE

<div class="otsection" id="2">Videos</div>
VIDEOS GO HERE
Run Code Online (Sandbox Code Playgroud)

据我所知,最好的方法是通过preg_replace_callback来增加每个替换之间的id变量.但经过1小时的工作后,我无法让它发挥作用.

对此的任何帮助将不胜感激!

php preg-replace preg-replace-callback

36
推荐指数
2
解决办法
4万
查看次数

PHP preg_replace/preg_match vs PHP str_replace

任何人都可以快速总结一下差异吗?

在我看来他们都做同样的事情?

谢谢

php preg-replace preg-match str-replace

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

Java相当于PHP的preg_replace_callback

我正在将应用程序从PHP迁移到Java,并且在代码中大量使用正则表达式.我在PHP中遇到过似乎没有java等价物的东西:

preg_replace_callback()
Run Code Online (Sandbox Code Playgroud)

对于正则表达式中的每个匹配,它调用一个函数,该函数将匹配文本作为参数传递.作为示例用法:

$articleText = preg_replace_callback("/\[thumb(\d+)\]/",'thumbReplace', $articleText);
# ...
function thumbReplace($matches) {
   global $photos;
   return "<img src=\"thumbs/" . $photos[$matches[1]] . "\">";
}
Run Code Online (Sandbox Code Playgroud)

在Java中这样做的理想方法是什么?

php java regex preg-replace

33
推荐指数
2
解决办法
7312
查看次数

PHP使用preg_replace:"分隔符不能是字母数字或反斜杠"错误

我试图采取一串文字,如下所示:

$string = "This (1) is (2) my (3) example (4) text";
Run Code Online (Sandbox Code Playgroud)

在括号内有正整数的每个实例中,我想用简单的整数本身替换它.

我现在使用的代码是:

$result = preg_replace("\((\d+)\)", "$0", $string);
Run Code Online (Sandbox Code Playgroud)

但我一直在接受

分隔符不得为字母数字或反斜杠.

警告

有什么想法吗?我知道这里有其他问题可以解答这个问题,但我对正则表达式的了解并不足以将其转换为这个例子.

php regex preg-replace

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