草庐IT

preg-match-all

全部标签

php - 如何使用 RegEx 排除 [ ] 中的符号

我正在使用PHPpreg_match_all,这是我目前所能得到的......[A-Za-z+\W]+\s[\d]唯一的问题是我需要\W不是"。所以我试过:[A-Za-z+[^\dA-Za-z"]\s?]+\s[\d][A-Za-z+]\s?+[^A-Za-z\d"]?\s[\d]除其他外,它只是失败了,我真的不明白为什么。编辑:这是完整的正则表达式;([A-Z][a-z]+\s){1,5}\s?[^a-zA-Z\d\s:,.\'\"]\s?[A-Za-z+\W]+\s[\d]{1,2}\s[A-Z][a-z]+\s[\d]{4}我把它分成两行,第二行以我发布的内容开头。试图匹配的模式

php - 通过 php 和正则表达式从文本字符串中查找 url?

这个问题在这里已经有了答案:HowtoaddanchortagtoaURLfromtextinput(8个答案)关闭8年前。我知道问题标题看起来很重复。但是我在这里没有找到一些解决方案。我需要从文本字符串中查找url:$pattern='`.*?((http|https)://[\w#$&+,\/:;=?@.-]+)[^\w#$&+,\/:;=?@.-]*?`i';if(preg_match_all($pattern,$url_string,$matches)){print_r($matches[1]);}使用此模式我能够找到带有http://的网址和https://没关系。但我有用户

php - preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用

echopreg_match("/\b(בדיקה|מילה)\b/iu","זוהיבדיקה");出于某种原因,这段代码在我测试过的几台服务器上返回1,但在一台特定服务器上返回0。PCRE编译时支持UTF-8和Unicode属性支持。可能是什么问题? 最佳答案 PHP使用的PCRE版本之间可能存在差异。PHP和PCRE版本:http://php.net/pcre.installation你应该使用8.10+(PHP5.3.4+)Version8.1025-Jun-2010:AddedPCRE_UCPtomake\b,\d,\s,

PHP Xpath : Get all href's that contain "letter"

假设我有一个已加载的html文件,我运行此查询:$url='http://www.fangraphs.com/players.aspx';$html=file_get_contents($url);$myDom=newDOMDocument;$myDom->formatOutput=true;@$myDom->loadHTML($html);$anchor=$xpath->query('//a[contains(@href,"letter")]');这给了我这些anchor的列表,如下所示:Aa但我需要一种方法来只获取“players.aspx?letter=Aa”。我想我可以试试:$

php - 如何在 preg_replace() 函数中使用 substr() 函数?

这是我目前所拥有的,但无论我尝试什么,我的album-content都不会被substr()截断。$gallery=preg_replace('/()(.*?)()/e',"'$1'.substr(\"$2\",0,50).'$3'",$gallery);更新:原来我的类名不正确,我的正则表达式似乎确实有效。我只需要执行另一个str_replace()来取消转义输出。$gallery=preg_replace('/()(.*?)()/e',"'$1'.substr(\"$2\",0,50).'$3'",$gallery);$gallery=str_replace('\"album-de

PHP : non-preg_match version of: preg_match ("/[^a-z0-9]/i", $a, $match)?

假设字符串是:$a="abc-def"if(preg_match("/[^a-z0-9]/i",$a,$m)){$i="istoppedscanning'$a'becauseIfoundaviolationinitwhilescanningitfromlefttoright.Theviolationwas:$m[0]";}echo$i;上面的例子:应该指出“-”是违规的。我想知道是否有非preg_match方法可以做到这一点。如果有非preg_match方法可以运行1000或100万次,我可能会运行基准测试,看看哪个更快、更高效。在基准测试中,“$a”会更长。确保它不会尝试扫描整个“$

php - 从特定字符后的字符串中获取数字并转换该数字

我需要regexphp方面的帮助。如果在字符串中找到某个字符后的数字。获取该数字并在应用数学后将其替换为。比如货币转换。我应用了这个正则表达式https://regex101.com/r/KhoaKU/1([^\?])AUD(\d)正则表达式不正确我想要这里所有匹配的数字,只有它匹配40,但还有20.00、9.95等。我试图得到所有。并转换它们。functionsimpleConvert($from,$to,$amount){$content=file_get_contents('https://www.google.com/finance/converter?a='.$amount.

php - http :keep-alive keep the php resources open or does it free all the resources? 吗

我在apache服务器上使用httpkeep-alive,比方说我要求它保持连接打开最多2分钟...现在,如果连接被创建并闲置一分钟,php持有的资源,像mysql连接、文件句柄等,将被释放还是它们也会继续存在? 最佳答案 确认。Keep-Alive是一种防止代价高昂的TCP连接协商的机制。您的PHP进程/线程正常启动,需要像往常一样分配所有资源。对于高负载情况,保持事件时间不要太长可能是明智的:所有连接请求都会竞争服务器的空闲连接槽。如果所有插槽都被保持事件连接使用,其他用户可能无法连接。但是,与往常一样,最佳插槽数量和良好的保持

替换字符串中的 PHP preg_quote

我使用preg_replace并且我想在替换字符串中包含一个url。我如何引用该字符串?看来preg_quote仅适用于搜索模式。$replace='\1'.addslashes($url).'\3'.addslashes($title).'\4'; 最佳答案 需要逃避addslashes是不够的preg_quote转义太多参见thisdemo.正如Mario评论的那样,您可以使用addcslashes($str,"\\$")。 关于替换字符串中的PHPpreg_quote,我们在Sta

php - mysqli_fetch_all 在 PHP 5.4.11 上停止工作

我有一个带主机的基本站点,最近mysqli_fetch_all命令似乎已停止工作,因为我收到消息:Fatalerror:Calltoundefinedfunctionmysqli_fetch_all()infileatlinewherefunctionisused我将服务器上的文件回滚到一个我知道有效的集合,但我遇到了同样的问题,即使该页面正在运行PHP5.4+。我不明白为什么它突然停止工作了。离线时,使用XAMPP,mysqli_fetch_all命令可以完美运行,因此问题似乎与数据库或代码无关。出于未知原因,我不想用while循环重写大量页面。这是服务器主机的问题吗?任何帮助将不胜