草庐IT

php - 如何在 preg_replace 中用 c(xxx) 替换 c(xxx)?

如何在preg_replace中用c(xxx)替换c(xxx)?在下面的代码中,我想将strc(xxx)替换为functiounc(xxx)。我没有得到我想要的正确结果。我的代码有什么问题?以及如何解决?$c['GOOD']='verygood';$c['BOY']='jimmy';functionc($x){global$c;if(isset($c[$x])){return$c[$x];}}$str="helloc(GOOD)worldc(BOY)";$str=preg_replace("@c\(([A-Z_\d]+)\)@",c('$1'),$str);echo$str;//-->

Php, 正则表达式

我得到了这个模式(我正在使用php):'/\[link\=((https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?)\]/i'当我搜索这个字符串时:http://phpquest.zapto.org/users/register.php匹配项为(顺序为0-5):'[link=http://phpquest.zapto.org/users/register.php]''http://phpquest.zapto.org/users/register.php''http://''phpquest.zapto'org''当我在最

php - 匹配正则表达式中的整个字符串

例如,我有字符串:hasanعمرانی。我想匹配整个字符串的波斯字符。我的意思是,如果字符串不完全是波斯语,则正则表达式不匹配任何字符。到目前为止我有这个模式:[\x{0600}-\x{06FF}\s]+。但它匹配عمرانی。它不能匹配任何字符串。请帮我提供一个模式。谢谢。 最佳答案 您可以使用\p{Old_Persian}属性代替范围:^\p{Old_Persian}+$ 关于php-匹配正则表达式中的整个字符串,我们在StackOverflow上找到一个类似的问题:

php - 在 PHP 中使用来自正则表达式本身的正则表达式变量

Mygoal:I'mtryingtouseregextoretrieveanamestringfromthejumbledresponseofafile_get_contents()callwithinPHP.这是我从file_get_contents调用中得到的摘录,以及我将使用的字符串:file_get_contents('http://releases.ubuntu.com/13.10/ubuntu-13.10-desktop-amd64.iso.torrent');28:announce39://torrent.ubuntu.com:6969/announce13:announ

php - 在 phpstorm 中使用正则表达式使用替换工具删除 php 注释

如何使用正则表达式从php文件中删除多行注释?我试过"/\*(.*\n)*\*/"但它失败了。它所做的只是以“/*”开头并在最后一次出现“*/”时停止。 最佳答案 感谢tenub评论。所有php注释的最终解决方案如下所示:/\*[\s\S]*?\*/|(?在哪里1)/\*[\s\S]*?\*/对于/*comments*/2)(?对于单行//comment转义以http://开头的网址(最好不要显示以"或'开头的那些,但我现在很好)哦,天哪,如果您发布的是更正的答案而不是评论。我会接受的。因为你帮助了ty)

php - 在 X 段之后注入(inject)代码但避免使用表格

我想在X段之后注入(inject)一些代码,这使用php很容易。publicfunctioninject($text,$paragraph=2){$exploded=explode("",$text);if(isset($exploded[$paragraph])){$exploded[$paragraph]='MYCODE'.$exploded[$paragraph];returnimplode("",$exploded);}return$text;}但是,我不想注入(inject)我的$text在里面,那么如何避免这种情况呢?谢谢 最佳答案

php - 用于检测提及但不检测电子邮件的正则表达式

我有以下代码:preg_match('/@([^@]+)/',$image->caption->text,$matches)我想基本上检测字符串中的提及。然而,现在的问题是它与电子邮件地址混淆,因此它会将电子邮件检测为提及,因此例如,如果我有aksdjasd@yahoo.com那么这算作匹配。我想我想在这里说的是@符号之前应该有一个空格。但是我如何将它放入这个正则表达式中呢?编辑:我还想检测字符串开头的@mentions 最佳答案 beforethe@signthereshouldbeaspace您可以使用lookbehind(根据

php - 如何只转义某些字符

php函数preg_quote转义这些字符.\+*?[^]$(){}=!|:-请问我可以用什么来转义这些字符:+-&&||!(){}[]^"~*?:/已编辑(按“待定”要求):我正在实现Solr搜索并显示:Solrgivesthefollowingcharactersspecialmeaningwhentheyappearinaquery:+-&&||!(){}[]^"~*?:/TomakeSolrinterpretanyofthesecharactersliterally,ratherasaspecialcharacter,precedethecharacterwithabacksl

PHP重命名文件,以特殊名称开头?

我想从数据库中重命名文件。所以..我在下面写道。它工作正常,除了具有长整数的名称。(例如:bartmp_9404865346.jpg不工作但bartmp_585558.jpg工作)$subject='[img]http://www.example.org/users/uploads/bartmp_9404865346.jpg[/img]Helloworld[img]http://www.example.org/users/uploads/bartmp_585558.jpg[/img]';preg_match_all('/\[img\](.*?)\[\/img\]/',$subject,

php - 使用php从文本中提取单词

你好friend有一个小问题。我只需要提取文本“任何人”中的单词。我尝试使用strtok()、strstr()检索单词。一些正则表达式,但只能提取一些单词。由于单词可以伴随的字符和符号的数量,问题很复杂。示例文本中必须提取的单词。这是一个示例文本:Mainarticle:our46,000required,!but(1947-2011)mail@server.comMarch8,2014Gutenberg's34-DE'a'3,1415Us:@unknownngohttp://google.comorwww.google.comandhttp://www.google.com(r)Th