只是一个简单的快速问题.我想用Tabs替换该行的begenning中的Double Spaces.目前我正在尝试, preg_replace('~^( {2})~', "\t", $text)但只替换第一次出现的Double Space.
- 编辑 -
preg_replace('~PATTERN~', "REPLACEMENT", " HalloWorld")
//Should be equal to "\t\t\tHallo World"
Run Code Online (Sandbox Code Playgroud) 我想要阻止所有与这个正则表达式模式不匹配的字符:[a-zA-Z0-9_-].
通常我会这样做:
preg_replace("[a-zA-Z0-9_-]", "", $var);
Run Code Online (Sandbox Code Playgroud)
但显然这对我想要的东西产生了相反的效果.正则表达式中是否有NOT?我怎样才能删除任何与模式不匹配的字符?
谢谢.
我有一堆像这样的字符串:
test; test2 (2;5%).
Run Code Online (Sandbox Code Playgroud)
我现在要用PHP做的是纠正";" 在括号中所以它看起来像:
test; test2 (2,5%) - mention the ",".
Run Code Online (Sandbox Code Playgroud)
我试过的代码:
$string = preg_replace("/\(.;.\)/", ",", $string);
Run Code Online (Sandbox Code Playgroud)
我的眼睛实际上从谷歌搜索流血所以请帮助我:)
我已经阅读了有关这方面的所有问题,并想知道$str = preg_replace('/[^\00-\255]+/u', '', $str);我的方案是否足够.
我的情景
当用户在我的网站上创建帐户时,他输入了公司的名称.这可以是任何东西,包括文本'或者"甚至是其他一些奇怪的字符.当他创建一个帐户时,我需要在我的服务器上创建一个文件夹,以便他更轻松地访问他的帐户而无需使用uniqids等.
例如,您为"Peter's Pet Shop&Washing"创建了一个帐户 - 我需要删除所有不允许作为url-address的空格和字符.所以最后我需要"peterspetshopwashing"
这样您就可以通过"www.mydomain.com/peterspetshopwashing"访问您的帐户
好吧,我可能不会以正确的方式解决这个问题,但是这里......
我有这个字符串,它接受一个链接并提取标签之间的文字...
$string = $item;
$pattern = '/\<a([^>]*)\>([^<]*)\<\/a\>/i';
$replacement = '$2';
$message = preg_replace($pattern, $replacement, $string);
Run Code Online (Sandbox Code Playgroud)
此字符串中有一些项目有&符号(在文本部分,而不是标记部分),但大多数项目没有.我试图找出一种方法,将&符号合并到当前模式中,或者$message在标签被条带化后删除&符号上的另一个preg_replace .
谢谢!
我想使用preg_expression从URL中删除所有出现的参数特定模式.同时删除最后一个"&"如果存在该模式看起来像:make = xy("make"是固定的;"xy"可以是任意两个字母)
例:
http://example.com/index.php?c=y&make=yu&do=ms&r=k&p=7&
Run Code Online (Sandbox Code Playgroud)
处理后preg_replace,结果应该是:
http://example.com/index.php?c=y&do=ms&r=k&p=7
Run Code Online (Sandbox Code Playgroud)
我试过用:
$url = "index.php?ok=no&make=ae&make=as&something=no&make=gr";
$url = preg_replace('/(&?lang=..&?)/i', '', $url);
Run Code Online (Sandbox Code Playgroud)
但是,这不能很好地工作,因为我在URL中有重复的make = xx(这可能发生在我的应用程序中).
我希望将WYSIWYG编辑器中的标签替换为.
目前我正在使用以下代码来实现这一目标.
$content = preg_replace('/<h1(.*?)<\/h1>/si', '<p class="heading-1"$1</p>', $content);
$content = preg_replace('/<h2(.*?)<\/h2>/si', '<p class="heading-2"$1</p>', $content);
$content = preg_replace('/<h3(.*?)<\/h3>/si', '<p class="heading-3"$1</p>', $content);
$content = preg_replace('/<h4(.*?)<\/h4>/si', '<p class="heading-4"$1</p>', $content);
$content = preg_replace('/<h5(.*?)<\/h5>/si', '<p class="heading-5"$1</p>', $content);
$content = preg_replace('/<h6(.*?)<\/h6>/si', '<p class="heading-6"$1</p>', $content);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这段代码非常混乱,如果我能将它压缩成一个正则表达式,那将会很棒,但我只是缺乏这样做的能力.
我曾考虑过这行代码作为替代方案.
$content = preg_replace('/<h(.*?)<\/h(.*?)>/si', '<p class="heading-$2"$1</p>', $content);
Run Code Online (Sandbox Code Playgroud)
我不确定如何使用上述内容,客户倾向于从其他网站复制内容,将其直接粘贴到新的WYSIWYG中,并且我看到了从hr标签到标题标签的任何内容.
我需要的只是上面的单行,除了标签本身只能是2个特定字符(因此确保标签以H开头,后跟[1-6]).
我还要求它添加到p标签的类特定于使用数量,例如:heading-1,heading-2.
非常感谢任何帮助,谢谢你的时间.
我想将字符串格式的一组Unicode代码点转换为实际字符和/或HTML实体(结果很好).
例如,如果我有以下字符串赋值:
$str = '\u304a\u306f\u3088\u3046';
Run Code Online (Sandbox Code Playgroud)
我想使用该preg_replace函数将这些Unicode代码点转换为实际字符和/或HTML实体.
正如我在其他Stack Overflow帖子中看到的类似问题,我首先尝试了以下内容:
$str = '\u304a\u306f\u3088\u3046';
$str2 = preg_replace('/\u[0-9a-f]+/', '&#x$1;', $str);
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试这样做时,我都会收到以下PHP错误:
警告:preg_replace()[function.preg-replace]:编译失败:PCRE不支持\ L,\ l,\ N,\ U或\ u
我尝试了各种各样的事情,比如将u标志添加到正则表达式或更改/\u[0-9a-f]+/为/\x{[0-9a-f]+}/,但似乎没有任何效果.
另外,我已经查看了我在网上可以找到的各种其他相关页面/帖子,这些页面/帖子与将PHP代码点转换为PHP中的实际字符有关,但要么我缺少一些关键的东西,要么出错了,因为我可以'解决我遇到的问题.
有人可以给我一个具体的解决方案,如何将一串Unicode代码点转换为实际字符和/或一串HTML实体?
这就是我到现在所做的事情:
<?php
$patterns= '/staff_(?)/';
$replacements= '';
$string = 'staff_name as user_name';
$string2 = 'staff_phone as user_phone';
echo preg_replace($patterns, $replacements, $string)."<br>";
echo preg_replace($patterns, $replacements, $string2);
?>
Run Code Online (Sandbox Code Playgroud)
期望输出是:
"staff_name as user_name"应返回"name"
"staff_phone as user_phone"应该返回"phone"
我有一个表达式[text][id],应该用链接替换<a href='id'>text</a>
解决方案是(id是整数)
$s = preg_replace("/\[([^\]]+)(\]*)\]\[([0-9]+)\]/","<a href='$3'>$1$2</a>",$string);
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下(并非总是!),表达式可能如下所示
[text][id][type]
Run Code Online (Sandbox Code Playgroud)
在这种情况下应该替换为 <a href='id' class='type'>text</a>
想法?