尝试删除字母表开头之前和字母结尾之后的连字符,但不要丢失连字符。
这是我有的字符串
---this-is-my-page--
输出:this-is-my-page
注意(每个请求的连字符号不同,数字可能很多)
2。实施例
怎么做,
---这-是页---
我需要替换字符串与空格之间的连字符。但不要在开始和结束时松开连字符。
答案 0 :(得分:2)
使用 trim 功能,它适用于字符串开头或结尾的任意数量的-
(连字符),
$str = "---this-is-my-page---";
echo $str = trim($str,"-");
修改强>:
而不是使用str_replace
,
$str = str_replace("-"," ",$str);
<强> DEMO 强>
答案 1 :(得分:1)
使用trim($string, $trimCharacters)
:
trim - 从字符串的开头和结尾去掉空格(或其他字符)
<?php
$str = '---this-is-my-page---';
var_dump( trim($str, '-') ); //string(15) "this-is-my-page"
?>
如果仅想要替换字符串中的连字符(而不是在开头/结尾),则可以使用正则表达式:
/^(-+)(.*?)(-+)$/
..并将其替换为(first group)(second group with hyphens replaced)(third group)
。
在代码中:
<?php
$str = '---this-is-my-page---';
$str = preg_replace_callback('/^(-+)(.*?)(-+)$/', function($matches) {
return $matches[1] . str_replace('-', ' ', $matches[2]) . $matches[3];
}, $str);
var_dump( $str ); //string(21) "---this is my page---"
?>
答案 2 :(得分:0)
echo trim( "---this-is-my-page---","-");
trim会删除和处的字符并开始