草庐IT

php - 使用正则表达式从字符串中提取数字和符号

我有一个包含文本、数字和符号的字符串。我试图从字符串中提取数字和符号,但收效甚微。我没有得到全部的数字和符号,而是得到了其中的一部分。我将在下面解释我的正则表达式,使其更清晰、更容易理解。\d:anynumber[+,-,*,/,0-9]+:1ormoreofany+,-,*,/,ornumber\d:anynumber代码:$string="text1+1-1*1/1=text";$regex="~\d[+,-,*,/,0-9]+\d~siU";preg_match_all($regex,$string,$matches);echo$matches[0][0];预期结果1+1-1*1

php - 如何用 PHP 替换\r\n 外部 <pre> 标签,而不是内部

例如我有字符串:Thisistextoutside\r\nofpretagsTextinside\r\npretagsThisistext\r\n\r\noutsideofpretags任何人都可以帮我如何替换和删除\r\n,但只能在之外标签,(的内容不会被替换)?如何使用php正则表达式和preg_replace()或其他方式来实现?我在var$text='texttexttext';中有文字非常感谢您的帮助更新:感谢大家的回复,对我很有帮助,我会考虑DOM,我已经用preg_split()尝试过,似乎它可以满足我的需要,也许对某些人有帮助-在之外替换\r\n标签:functionR

php - 删除 perso-arabic 字符串中的隐藏空格

我有一个有4个字符的字符串当我执行mb_strlen时,结果是5,这意味着那里有一个隐藏的字符我已经遍历了它的字符以找出发生了什么$string='بشكه‌';$string=trim($string);$string=preg_replace("/\s| /",'',$string);echo'totallength:'.mb_strlen($string,"UTF-8");echo'';for($i=0;$i'.$char_b;var_dump($char_b);echo'';}这是输出totallength:50->بstring'ب'(length=2)1->شst

php - 删除前导斜线 NGINX

我的URL中有一个双斜杠(这不太理想)。所以我的应用在//signup处被命中。错误信息:UncaughtPHPExceptionSymfony\Component\HttpKernel\Exception\NotFoundHttpException:"Noroutefoundfor"GET//signin""是否可以将其更改为仅/signup?我在第一个位置block(这是捕获代理的那个)中尝试了以下内容。也许是...location/apps/phpauthentication/1{rewrite^\//(.*)/$/$1break;try_files$uri/app_dev.ph

php - 删除属性内的标签

我有传递给Text_Diff的这个字符串...SomeTextOrig';$right_string='color:#FFF;;display:block;">SomeText';只有两个可能的标签,即:del和ins。如果它们不在标签内,我不会删除这些标签。但是当它们在属性内部时需要删除它们。 最佳答案 您可以使用以下正则表达式进行搜索:(?|)([\w\W\s]+)(?:|)([\w\W]*)(?=">)该属性的值是与反向链接匹配的文本:([\w\W]+)==$1([\w\W\s]+)==$2([\w\W]*)==$3然后此组合

php - 与 PHP 正则表达式匹配行尾的区别

给定代码:$my_str='Rollois*Mydog*Andhe\'svery*Lovely*';preg_match_all('/\S+(?=\*$)/m',$my_str,$end_words);print_r($end_words);在PHP7.3.2(XAMPP)中,我得到了意外的输出Array([0]=>Array())而在PhpFiddle,在PHP7.0.33上,我得到了预期的结果:Array([0]=>Array([0]=>is[1]=>dog[2]=>very[3]=>Lovely))为什么我会得到这种差异?7.0.33之后正则表达式的行为有什么变化吗?

php - 通过 REGEX 删除 CSS 注释时出错

事实证明这两个序列(以前有效)"`([\n\A;]+)\/\*(.+?)\*\/`ism"=>"$1",//error"`([\n\A;\s]+)//(.+?)[\n\r]`ism"=>"$1\n",//error现在在PHP7.3中抛出一个错误警告:preg_replace():编译失败:转义序列在字符类偏移量4中无效上下文:考虑这个snipit,它从字符串中删除CSS注释$buffer=".selector{color:#fff;}/*somecommenttoremove*/";$regex=array("`^([\t\s]+)`ism"=>'',"`^\/\*(.+?)\*\/

php - 在 PHP (RegEx) 中提取已加载页面的部分内容

我有一个时事通讯系统,我正试图将其整合到一个PHP站点中。PHP站点加载一个内容区域,并将脚本加载到页面的头部。这适用于为网站生成的代码,但现在我有了要合并的时事通讯。最初我打算使用iFrame,但AJAX和jQuery调用的数量使它变得相当复杂。所以我想我可以使用cURL将时事通讯页面作为变量加载。然后我打算使用RegEx抓取正文标签之间的内容并将其放置在内容区域中。最后,我打算再次使用RegEx来搜索头部并抓取任何脚本。$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$config_live_site."lib/alerts/user/upd

php - php 中的 preg_match

我想使用preg_match()这样给定字符串中就不应该有特殊字符,例如``@#$%^&/'`。例如:编码:输出有效:输出无效(以空格开头的字符串)项目管理:输出有效(两个词之间的空格有效)'Design23':输出有效23Designing:输出无效123:输出无效我尝试了但无法得出有效答案。 最佳答案 像这样的正则表达式有帮助吗?^[a-zA-Z0-9]\w*$意思是:^=这个模式必须从字符串的开头开始[a-zA-Z0-9]=此字符可以是任何字母(a-z和A-Z)或数字(0-9,另见\d)\w=单词字符。这包括字母、数字和空格(

php - 替换文本中的单词忽略 url

我使用这一行在带有url的文本中搜索名称。$name="xxx";$text="mynameisxxxenmywebsiteishttp://xxx.something.com";$text=preg_replace("/\b(".preg_quote($name,"/").")\b/i",$url,$text);我如何更改此正则表达式以忽略文本中的url 最佳答案 1)您可以使用正则表达式查找所有网址(例如http://snipplr.com/view/2371/regex-regular-expression-to-match-