Как получить первые 5 символов из строки

255

Как получить первые 5 символов из строки, используя php

$myStr = "HelloWordl";

результат должен быть таким

$result = "Hello";
faressoft
источник
19
Дубликат: Как вы вытягиваете первые 100 символов строки в PHP . (Да, я знаю 100! = 5.)
Анника Бэкстром
1
Возможный дубликат Получить первые n символов строки
mega6382

Ответы:

550

Для однобайтовых строк (например, US-ASCII, семейства ISO 8859 и т. Д.) Используйте substrи для многобайтовых строк (например, UTF-8, UTF-16 и т. Д.) Используйте mb_substr:

// singlebyte strings
$result = substr($myStr, 0, 5);
// multibyte strings
$result = mb_substr($myStr, 0, 5);
гумбо
источник
2
Спасибо, это то, что мне было нужно:if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
shanehoban
1
Вам действительно нужен только str_replace ('www.', '', $ Url); Не нужно проверять, существует ли он.
Даг Кэссиди
8
@DougCassidy: что если $url = "www.subwww.myweirddomainwww.com"? Без первоначальной проверки substr($url, 0, 4), возвращается $urlразрушен!
Fr0zenFyr
46

Используйте substr():

$result = substr($myStr, 0, 5);
BoltClock
источник
substr("Häagen-Dazs", 0, 5) == "Häag"- Что я делаю не так?
user187291
12
@stereofrog: Вы, вероятно, используете многобайтовую кодировку символов, например UTF-8. В таком случае используйте mb_substr.
Гамбо
20

Альтернативный способ получить только одного персонажа.

$str = 'abcdefghij';

echo $str{5};
Пол Ходел
источник
7
Это правильный ответ на неправильный вопрос. Downvoted.
mickmackusa
Потому что это требует больше, чем просто копирование?
Роберт Паундер
ПРИМЕЧАНИЕ. Для многобайтовых наборов символов, таких как UTF-8, вместо этого необходимо использовать mb_substr(i, 1)для получения ith-й символ. @RobertPounder - потому что он не распространяется на получение более одного символа.
ToolmakerSteve
1
@ ToolmakerSteve, если вы так говорите; $string = "Häagen-Dazs"; $stringFirstChars = function($amount, $string) { $i=0;$done=false;$return = '';while($done == false) {$return.=$string{$i};if($amount===$i)$done=true;$i++;}return $return;}; var_dump($stringFirstChars(5, $string)); (скопируйте и вставьте это в phptester.net или мы)
Роберт Паундер,
Да, я знаю. Я лично не отрицал это; Я просто заметил, как это не отвечает на вопрос. То, что вы написали - это будет полный ответ: показать новичку, как в php можно перейти от получения одного символа к нескольким символам. Полезное дополнение к Q & A - спасибо.
ToolmakerSteve
15

Вы можете использовать substrфункцию следующим образом:

echo substr($myStr, 0, 5);

Второй аргумент substr- с какой позиции вы хотите начать, а третий аргумент - сколько символов вы хотите вернуть.

Sarfraz
источник
-4

Вы можете получить свой результат, просто используя substr () :

Синтаксис substr (строка, начало, длина)

пример

<?php
$myStr = "HelloWordl";
echo substr($myStr,0,5);
?>

Вывод :

 Hello
Прабху Нандан Кумар
источник
16
Этот ОЧЕНЬ поздний пост не добавляет никакой ценности и просто раздувает страницу, потому что все, что он говорит, уже было сказано (годы назад). Пожалуйста, не размещайте ответ, если у вас нет чего-то уникального и ценного для добавления. Понизил этот ответ, чтобы препятствовать бесполезным, поздним сообщениям.
mickmackusa
Вы отправили ответ 7 лет спустя? Шутки в сторону?
Варин