嗨我需要删除'_'中的所有字符,直到字符串结束.
我尝试过:
$string = 'merry_christmas';
$string = preg_replace('/_*/','',$string);
echo $string; // I need it to be: 'merry'
Run Code Online (Sandbox Code Playgroud)
......但是不.
这个想法是删除下划线字符'_'和右边的所有字符.
谢谢
如何使用'PREG'或'HTACCESS'删除URI中的多个斜杠
site.com/edition/new/// - > site.com/edition/new/
site.com/edition///new/ - > site.com/edition/new/
谢谢
我正在编写虚假的电子邮件地址,我只是想确保它们是有效的电子邮件格式,所以我试图删除下面集合中没有的任何字符:
$jusr['email'] = preg_replace('/[^a-zA-Z0-9.-_@]/g', '', $jusr['email']);
Run Code Online (Sandbox Code Playgroud)
我在我的Windows机器上没遇到任何问题,但是在linux dev服务器上,每次运行此代码时都会出现此错误:
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'g' in /var/www/vhosts/....
Run Code Online (Sandbox Code Playgroud)
我认为这是正则表达式字符串,但我不能把它固定下来.帮助不大?谢谢.
澄清:我不是想要容纳所有有效的电子邮件地址(我的目的不必要),我只需要弄清楚我的preg_replace正则表达式有什么问题.
我正在html页面上创建一个preg_replace.我的模式旨在为html中的某些单词添加周围标记.但是,有时我的正则表达式会修改html标记.例如,当我尝试替换此文本时:
<a href="example.com" alt="yasar home page">yasar</a>
Run Code Online (Sandbox Code Playgroud)
这样yasar读取<span class="selected-word">yasar</span>,我的正则表达式也替换了锚标记的alt属性中的yasar.preg_replace()我正在使用的电流看起来像这样:
preg_replace("/(asf|gfd|oyws)/", '<span class=something>${1}</span>',$target);
Run Code Online (Sandbox Code Playgroud)
如何制作正则表达式,使其与html标签内的任何内容都不匹配?
我如何在正则表达式中进行\n匹配?我希望实际的两个ASCII值92和110匹配(作为字符串).
我正在使用PHP的preg谢谢
我现在有
preg_replace('/[^0-9]/s', '', $myvariable);
Run Code Online (Sandbox Code Playgroud)
例如,输入为GB -3.我的当前行给出了值3.我希望能够保持减号,使得值显示-3而不是当前输出3.
我正在开发一个WordPress插件,用一个列表中随机的新单词取代评论中的坏词.
我现在有2个数组:一个包含坏词,另一个包含好词.
$bad = array("bad", "words", "here");
$good = array("good", "words", "here");
Run Code Online (Sandbox Code Playgroud)
由于我是初学者,我在某个时候陷入困境.
为了取代坏话,我一直在使用$newstring = str_replace($bad, $good, $string);.
我的第一个问题是我想要关闭案例的敏感性,所以我不会把这样的话放在这里,"bad", "Bad", "BAD", "bAd", "BAd", etc但是我需要新单词来保持原始单词的格式,例如,如果我写"Bad",它会被替换为"Words",但如果我输入"bad",它将被替换为"words"等.
我的第一个尝试是使用str_ireplace,但如果原始单词有大写字母,它会忘记.
第二个问题是我不知道如何处理类似这样的用户:"ba d","word s"等.我需要一个想法.
为了使随机选取一个字,我想我可以使用$new = $good[rand(0, count($good)-1)];,然后$newstring = str_replace($bad, $new, $string);.如果你有更好的主意,我会在这里倾听.
我的脚本的一般外观:
function noswear($string)
{
if ($string)
{
$bad = array("bad", "words");
$good = array("good", "words");
$newstring = str_replace($bad, $good, $string);
return $newstring;
}
echo noswear("I see bad words coming!");
Run Code Online (Sandbox Code Playgroud)
预先感谢您的帮助!
我需要一个简单而快速的解决方案来替换字符串中的第n个匹配(占位符).
例如,sql查询中的第n个问号应替换为提供的值.
$subject = "SELECT uid FROM users WHERE uid = ? or username = ?";
所以,我需要函数str_replace_nth($seach, $replace, $subject, $nth)和第二个问号,它应该被称为str_replace_nth("?", $username, $subject, 2);
有任何想法吗?
PS请不要建议我使用PDO,因为我正在使用FDO(Facebook数据对象)一个具有类似于PDO的接口的库,但是对于FQL.
重要的提醒!我已经发现这种方法很糟糕,因为在第一次替换之后,查询被修改并且索引丢失了.(当你在深夜编程时出现不好的方法:()所以,正如@GolezTrol在评论中提到的那样,最好立刻替换所有.
我需要以几种不同的方式处理html字符串中的链接.
$str = 'My long <a href="http://example.com/abc" rel="link">string</a> has any
<a href="/local/path" title="with attributes">number</a> of
<a href="#anchor" data-attr="lots">links</a>.'
$links = extractLinks($str);
foreach ($links as $link) {
$pattern = "#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie";
if (preg_match($pattern,$str)) {
// Process Remote links
// For example, replace url with short url,
// or replace long anchor text with truncated
} else {
// Process Local Links, Anchors
}
}
function extractLinks($str) {
// First, I tried DomDocument
$dom = new DomDocument();
$dom->loadHTML($str);
return $dom->getElementsByTagName('a');
// But this …Run Code Online (Sandbox Code Playgroud) 我在PHP中使用正则表达式.这是我的脚本:
$s="2044 blablabla 2033 blablabla 2088";
echo preg_replace("/(20)\d\d/","$1 14",$s);
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
20 14 blablabla 20 14 blablabla 20 14
Run Code Online (Sandbox Code Playgroud)
我想删除之间的空间20和14获得的结果2014.我怎么做?
php ×10
preg-replace ×10
regex ×7
preg-match ×4
.htaccess ×1
ascii ×1
domdocument ×1
pcre ×1
preg-split ×1
warnings ×1
wordpress ×1