0

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

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

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

换句话说:Hello+Underscores

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

下面是我尝试过的代码。

<?php
$challenge = 'hello'; 

$length = strlen($challenge);

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

echo  $challenge.'<br>';

?>

我尝试了字符串连接,但我确定我不能在这个逻辑中使用它,我认为字符串添加应该使用preg_replace.

哪位大神可以给点好的建议!

4

6 回答 6

2

只需使用str_pad.

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

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

于 2013-07-31T10:19:40.177 回答
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";
?>
于 2013-07-31T10:13:52.290 回答
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_"
 ?>
于 2013-07-31T10:17:59.737 回答
2

尝试这个

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

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

查看此链接PHP.net

于 2013-07-31T10:18:46.323 回答
1
$str = 'Hello';
$str .= "_";
while(strlen($str) <= 20){
$str .= "-";
}
echo $str;
于 2013-07-31T10:14:32.783 回答
1

试试这个代码

$challenge = 'hello';

$length = strlen($challenge);
if($length < 20){
    $limit = 20-$length;
    for($i=0;$i<$limit;$i++){
        $challenge .= '_';
    }
}
echo $challenge;
于 2013-07-31T10:15:58.753 回答