Этот строковый формат должен сделать ваш день: «0. ##############################». Имейте в виду, что десятичные знаки могут содержать не более 29 значащих цифр.
Примеры:
? (1000000.00000000000050000000000m).ToString("0.#############################")
-> 1000000.0000000000005
? (1000000.00000000000050000000001m).ToString("0.#############################")
-> 1000000.0000000000005
? (1000000.0000000000005000000001m).ToString("0.#############################")
-> 1000000.0000000000005000000001
? (9223372036854775807.0000000001m).ToString("0.#############################")
-> 9223372036854775807
? (9223372036854775807.000000001m).ToString("0.#############################")
-> 9223372036854775807.000000001
$pieces = explode(" ", $inputstring);
$first_part = implode(" ", array_splice($pieces, 0, 5));
$other_part = implode(" ", array_splice($pieces, 5));
explode
разбивает исходную строку на массив слов, array_splice
позволяет получить определенные диапазоны этих слов, а затем implode
объединяет диапазоны обратно в одну строку.
<?php
$words = explode(" ", $string);
$first = join(" ", array_slice($words, 0, 5));
$rest = join(" ", array_slice($words, 5));
str_split
преобразует первый аргумент в массив, у него нет такой подписи, как указанная здесь
– Daniel DiPaolo
26 May 2010 в 19:32
str_split
и explode
. Исправлен мелкий надзор.
– Kenaniah
26 May 2010 в 19:32
Сильно зависит от того, что вы определяете как слово, но это кивок в другом направлении, вдали от обычного explode
-ing.
$phrase = "All the ancient classic fairy tales have always been scary and dark.";
echo implode(' ', array_slice(str_word_count($phrase, 2), 0, 5));
Дает
Вся древняя классическая фея
blockquote>
Еще одна альтернатива, поскольку все любят регулярное выражение, было бы чем-то вроде:
preg_match('/^(?>\S+\s*){1,5}/', $phrase, $match); echo rtrim($match[0]);
implode(' ', array_slice(explode(' ', $contents), 0, 5));
Примечание: здесь, наконец, вы можете увидеть 0, 10 он будет печатать от стартового слова до 10-го слова, поэтому вы можете исправить, как вы хотите начать с слова на общее число слов.
explode(" ", $inputstring, 6)
для сохранения взрыва, когда вам это не нужно. – salathe 26 May 2010 в 20:16