我有一个结构类似于的字符串:'aba aaa cba sbd dga gad aaa cbz'.字符串每次都可能有点不同,因为它来自外部源.
我想只替换第一次出现'aaa'但不替换其他出现.可能吗?
$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()?
我有以下错误:
警告: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文件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) 我期待替换除字母,数字,空格和下划线之外的字符串中的所有字符.
有人可以提供一个例子吗?
示例用户输入
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)
让我知道 :)
我有以下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迁移到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中这样做的理想方法是什么?
我试图采取一串文字,如下所示:
$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 ×10
preg-replace ×10
regex ×5
decode ×1
ereg-replace ×1
function ×1
java ×1
php-5.5 ×1
preg-match ×1
str-replace ×1
utf-8 ×1
wordpress ×1