PHP字符串替换/追加

时间:2013-07-31 10:08:18

标签: php string logic

我正在尝试字符串中的逻辑,但在字符串操作函数中遇到困难。对于以下方法,哪种功能有用:

我的字符串是“你好”我想在第一个字符串“Hello ---------”之后添加“------------------” -----“字符串操作后字符串的长度应为20。

  

我想在字符串中添加“------------------”以使其长度为20。

换句话说:Hello+Underscores

如果字符串长度太长,我们可以修剪字符串。

以下是我尝试的代码。

<?php
$challenge = 'hello'; 

$length = strlen($challenge);

$i= $length +1;
$challenge=substr($challenge,0,$i);

echo  $challenge.'<br>';

?>

我尝试过字符串连接,但我确信我不能在这个逻辑中使用它,我认为字符串添加应该使用preg_replace完成。

有人可以给出一个很好的建议!

6 个答案:

答案 0 :(得分:2)

你去吧

<?php
    $string = "anything";

    echo substr($string."------------------------------------------",0,20);
?>

只需使用字符串的前20个字符和------------------------

根据某些原因未在原始问题中提供的新要求进行编辑。

<?php
    $string = "anything";
    $newstring = substr($string."------------------------------------------",0,20);
    echo $newstring."whatever you want to add at end";
?>

答案 1 :(得分:2)

str-pad是实现您的任务和代码示例的最简单方法,如下所示。

 <?php
 $input = "Alien";
 echo str_pad($input, 10);                      // produces "Alien     "
 echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // produces "-=-=-Alien"
 echo str_pad($input, 10, "_", STR_PAD_BOTH);   // produces "__Alien___"
 echo str_pad($input, 6 , "___");               // produces "Alien_"
 ?>

答案 2 :(得分:2)

试试这个

<?php
$input = "HELLO";
echo str_pad($input, 10, "----", STR_PAD_RIGHT); 
?>

此处$input是字符串,10是添加的字符长度 STR_PAD_RIGHT 是位置

查看此链接PHP.net

答案 3 :(得分:2)

只需使用str_pad

$input = 'hello';
$output = str_pad($input, 20, '_');
echo $output;

演示:http://ideone.com/0EPoV2

答案 4 :(得分:1)

$str = 'Hello';
$str .= "_";
while(strlen($str) <= 20){
$str .= "-";
}
echo $str;

答案 5 :(得分:1)

试试这段代码

$challenge = 'hello';

$length = strlen($challenge);
if($length < 20){
    $limit = 20-$length;
    for($i=0;$i<$limit;$i++){
        $challenge .= '_';
    }
}
echo $challenge;