我有一些与此类似的结构的代码
function bbcode($Text)
{ //$Text = preg_replace("/\[video\](.+?)\[\/video\]/",embed_video($1), $Text);
return $Text;}
function embed_video($url){
if (preg_match("/http:\/\/www.youtube.com\/watch\?v=([0-9a-zA-Z-_]*)(.*)/i", $url, $matches)) {
return '<object width="425" height="350">'.
'<param name="movie" value="http://www.youtube.com/v/'.$matches[1].'" />'.
'<param name="wmode" value="transparent" />'.
'<embed src="http://www.youtube.com/v/'.$matches[1].'&autoplay="0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" />'.
'</object>';
}
return $url;
}
$lolcakes = "[video]http://youtube.com/id/xxxxxxpron[/video]";
$lolcakesconverted = bbcode($lolcakes);
Run Code Online (Sandbox Code Playgroud)
问题是它向我吐出一个错误.
解析错误:语法错误,意外T_LNUMBER,期待T_VARIABLE或'$'
如何在bbcode函数的preg_replace中调用embed_video有任何想法?
谢谢!
正如标题所说,我有一个这样的字符串:
$string = "Hello World<br>hello world<br><br>";
Run Code Online (Sandbox Code Playgroud)
现在我想摆脱<br>这个字符串末尾的s所以它看起来像这样:
$string = "Hello World<br>hello world";
Run Code Online (Sandbox Code Playgroud)
我试过这个:
preg_replace('/^(<br>)*/', "", $string);
Run Code Online (Sandbox Code Playgroud)
但这没用.也许有人知道正确的正则表达式.
问候彼得
我使用这些代码行来删除所有标点符号,符号等,你可以在数组中看到它们,
$pattern_page = array("+",",",".","-","'","\"","&","!","?",":",";","#","~","=","/","$","£","^","(",")","_","<",">");
$pg_url = str_replace($pattern_page, ' ', strtolower($pg_url));
Run Code Online (Sandbox Code Playgroud)
但是我想让它变得更简单,因为在列表中列出我要删除的所有东西看起来很傻,因为我可能会删除一些其他特殊字符.
我想过使用下面的正则表达式,
$pg_url = preg_replace("/\W+/", " ", $pg_url);
Run Code Online (Sandbox Code Playgroud)
但它没有删除得分不足 - _
删除所有这些东西的最佳方法是什么?正则表达能做到吗?
我有以下字符串,并希望使用str_replace或preg_replace删除括号但不确定如何.我已经能够使用str_replace删除左括号,但无法删除右括号.
这是刺痛:
$coords = '(51.50972493425563, -0.1323877295303646)';
Run Code Online (Sandbox Code Playgroud)
我试过了:
<?php echo str_replace('(','',$coords); ?>
Run Code Online (Sandbox Code Playgroud)
删除了开头括号,但我现在认为我需要preg_replace来删除它们.
怎么会这样呢?
帮助赞赏
为什么以下代码:
<?php echo preg_replace("/(.*)/", "$1.def", "abc");
Run Code Online (Sandbox Code Playgroud)
输出abc.def.def而不是abc.def?
我很想知道重复发生的原因.
使用/(.+)/或/^(.*)$/按预期工作,但我不是在寻找解决方案,只是问一个问题(虽然这些模式可能与答案有关).
在这里修改现场版.
我试图从字符串中删除字符串中的所有字符,除了:
$)_)U+0080和之间的Unicode字符U+FFFF这样做我有前三个条件:
preg_replace('/[^a-zA-Z\d$_]+/', '', $foo);
Run Code Online (Sandbox Code Playgroud)
我该如何匹配第四个条件?我看着使用,\X但必须有一个比列出65000多个字符更好的方法.
我根本找不到preg_replace,它只是看起来像中文,无论如何我只需&page-X要从字符串中删除" ",如果它在那里.
X当然,如果有人有一个preg_replace初学者的有用教程的链接,也会很方便!
假设我有一个这样的字符串:
$string = "hello---world";
Run Code Online (Sandbox Code Playgroud)
我怎样才能用一个连字符替换---?字符串很容易看起来像这样:
$string = "hello--world----what-up";
Run Code Online (Sandbox Code Playgroud)
期望的结果应该是:
$string = "hello-world-what-up";
Run Code Online (Sandbox Code Playgroud) 无论如何要制作一个忽略重音的正则表达式?
例如:
preg_replace("/$word/i", "<b>$word</b>", $str);
Run Code Online (Sandbox Code Playgroud)
正则表达式中的"i"是忽略区分大小写,但无论如何要匹配,例如
java与Jávã?
我确实尝试制作$ str的副本,将内容更改为无重音字符串并找到所有出现的索引.但是2个字符串的索引似乎是不同的,即使它只是没有重音符号.
(我做了一项研究,但我所能找到的是如何从字符串中删除重音)
php ×10
preg-replace ×10
regex ×5
string ×2
clean-urls ×1
diacritics ×1
function ×1
replace ×1
str-replace ×1
syntax-error ×1
unicode ×1