Get string from another string php

substr

Возвращает подстроку строки string , начинающейся с start символа по счету и длиной length символов.

Список параметров

Входная строка. Должна содержать хотя бы один символ.

Если start неотрицателен, возвращаемая подстрока начинается с позиции start от начала строки, считая от нуля. Например, в строке ‘abcdef‘, в позиции 0 находится символ ‘a‘, в позиции 2 — символ ‘c‘, и т.д.

Если start отрицательный, возвращаемая подстрока начинается с позиции, отстоящей на start символов от конца строки string .

Если string меньше либо содержит ровно start символов, будет возвращено FALSE .

Пример #1 Использование отрицательного параметра start

$rest = substr ( «abcdef» , — 1 ); // возвращает «f»
$rest = substr ( «abcdef» , — 2 ); // возвращает «ef»
$rest = substr ( «abcdef» , — 3 , 1 ); // возвращает «d»
?>

Если length положительный, возвращаемая строка будет не длиннее length символов, начиная с параметра start (в зависимости от длины string ).

Если length отрицательный, то будет отброшено указанное этим аргументом число символов с конца строки string (после того как будет вычислена стартовая позиция, если start отрицателен). Если при этом позиция начала подстроки, определяемая аргументом start , находится в отброшенной части строки или за ней, возвращается false.

Если указан параметр length и является одним из 0, FALSE или NULL , то будет возвращена пустая строка.

Если параметр length опущен, то будет возвращена подстрока, начинающаяся с позиции, указанной параметром start и длящейся до конца строки.

Пример #2 Использование отрицательного параметра length

$rest = substr ( «abcdef» , 0 , — 1 ); // возвращает «abcde»
$rest = substr ( «abcdef» , 2 , — 1 ); // возвращает «cde»
$rest = substr ( «abcdef» , 4 , — 4 ); // возвращает false
$rest = substr ( «abcdef» , — 3 , — 1 ); // возвращает «de»
?>

Возвращаемые значения

Возвращает извлеченную часть строки, или FALSE в случае возникновения ошибки или пустую строку string .

Список изменений

Версия Описание
5.2.2 — 5.2.6 Если параметр start указывает на позицию с отрицательной обрезкой, возвращается FALSE . Другие версии возвращают строку с начала.

Примеры

Пример #3 Базовое использование substr()

echo substr ( ‘abcdef’ , 1 ); // bcdef
echo substr ( ‘abcdef’ , 1 , 3 ); // bcd
echo substr ( ‘abcdef’ , 0 , 4 ); // abcd
echo substr ( ‘abcdef’ , 0 , 8 ); // abcdef
echo substr ( ‘abcdef’ , — 1 , 1 ); // f

// Получить доступ к отдельному символу в строке
// можно также с помощью «квадратных скобок»
$string = ‘abcdef’ ;
echo $string [ 0 ]; // a
echo $string [ 3 ]; // d
echo $string [ strlen ( $string )- 1 ]; // f

Пример #4 substr() и приведение типов

class apple public function __toString () return «green» ;
>
>

echo «1) » . var_export ( substr ( «pear» , 0 , 2 ), true ). PHP_EOL ;
echo «2) » . var_export ( substr ( 54321 , 0 , 2 ), true ). PHP_EOL ;
echo «3) » . var_export ( substr (new apple (), 0 , 2 ), true ). PHP_EOL ;
echo «4) » . var_export ( substr ( true , 0 , 1 ), true ). PHP_EOL ;
echo «5) » . var_export ( substr ( false , 0 , 1 ), true ). PHP_EOL ;
echo «6) » . var_export ( substr ( «» , 0 , 1 ), true ). PHP_EOL ;
echo «7) » . var_export ( substr ( 1.2e3 , 0 , 4 ), true ). PHP_EOL ;
?>

Результат выполнения данного примера:

1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) false 6) false 7) '1200'

Ошибки

Возвращает FALSE в случае ошибки.

Смотрите также

  • strrchr() — Находит последнее вхождение символа в строке
  • substr_replace() — Заменяет часть строки
  • preg_match() — Выполняет проверку на соответствие регулярному выражению
  • trim() — Удаляет пробелы (или другие символы) из начала и конца строки
  • mb_substr() — Возвращает часть строки
  • wordwrap() — Переносит строку по указанному количеству символов
  • Посимвольный доступ и изменение строки

Источник

PHP String extraction from another string

Alternatively, you can utilise ‘s third param , like so: Solution 3: Solution 1: preg_match_all Solution 2: Solution 3: Solution 1: You can also use strstr() which finds the first occurrence of a string: Here’s my reference: http://php.net/manual/en/function.strstr.php Solution 2: Use a simple combo of substr and strpos: BONUS — Wrap it in a custom function: Solution 3: Try this,It will remove anything after «_». Solution 1: Solution 2: Here is my function, multipleExplodeKeepDelimiters.

PHP String extraction from another string

$string = "str1|str2|str3"; $pieces = explode( '|', $string); // Explode on '|' array_pop( $pieces); // Pop off the last element $t = implode( '|', $pieces); // Join the string back together with '|' 

Alternatively, use string manipulation:

$string = "str1|str2|str3"; echo substr( $string, 0, strrpos( $string, '|')); 
implode("|", array_slice(explode("|", $s), 0, 2)); 

Not a very flexible solution, but works for your test case.

Alternatively, you can utilise explode() ‘s third param limit , like so:

$s = 'str1|str2|str3'; $t = implode('|', explode('|', $s, -1)); echo $t; // outputs 'str1|str2' 

Php string split based on delimiter Code Example,

PHP — Most efficient way to extract substrings based on given delimiter?

$s = "stackoverflowis%value1%butyouarevery%value2%"; preg_match_all('~%(.+?)%~', $s, $m); $values = $m[1]; 
$string = 'stackoverflowis%value1%butyouarevery%value2%'; $string = trim( $string, '%' ); $array = explode( '%' , $string ); 
$str = "stackoverflowis%value1%butyouarevery%value2%"; preg_match_all('/%([a-z0-9]+)%/',$str,$m); var_dump($m[1]); array(2) < [0]=>string(6) "value1" [1]=> string(6) "value2" > 

Php — get substring after delimiter, Teams. Q&A for work. Connect and share knowledge within a single location that is structured and easy to search. Learn more

Truncate PHP string with a specific delimiter

You can also use strstr() which finds the first occurrence of a string:

$myString= "customname_489494984"; echo strstr($myString, '_', true); 

Here’s my reference: http://php.net/manual/en/function.strstr.php

Use a simple combo of substr and strpos:

$myString = 'customname_489494984'; echo substr($myString, 0, strpos($myString, '_')); 

BONUS — Wrap it in a custom function:

function truncateStringAfter($string, $delim) < return substr($string, 0, strpos($string, $delim)); >echo truncateStringAfter('customname_489494984', '_'); 

Try this,It will remove anything after «_».

$string= 'customname_489494984'; $string=substr($string, 0, strrpos($string, '_')); 

Php split string by delimiter Code Example, php explode example. creating a array with explode. php split each word into list. str split in php. function in PHP returns an array of strings, each of which is a substring of main string formed by splitting it on boundaries formed by a delimiter. explode string php comma. php split every 4 characters.

PHP exploding a string while keeping delimiters

$array = preg_split('~([. ;])~u',$raw , null, PREG_SPLIT_DELIM_CAPTURE); 

Here is my function, multipleExplodeKeepDelimiters. And an example of how it can be used, by exploding a string into different sentences and seeing if the last character is a question mark:

function multipleExplodeKeepDelimiters($delimiters, $string) < $initialArray = explode(chr(1), str_replace($delimiters, chr(1), $string)); $finalArray = array(); foreach($initialArray as $item) < if(strlen($item) >0) array_push($finalArray, $item . $string[strpos($string, $item) + strlen($item)]); > return $finalArray; > $punctuation = array(".", ";", ":", "?", "!"); $string = "I am not a question. How was your day? Thank you, very nice. Why are you asking?"; $sentences = multipleExplodeKeepDelimiters($punctuation, $string); foreach($sentences as $question) < if($question[strlen($question)-1] == "?") < print("'" . $question . "' is a question
"); > >

How to extract Heading tags in PHP from a string?, I guess that the ‘tidy’ module is not enabled in you’re php.ini. If you’re using xampp (or some other AMP) uncomment the line «extension=php_tidy.dll» If you’re using Ubuntu use «apt-get install php5-tidy» to install and enable it. –

Источник

How do I extract a string from another string php

I’d like to extract a string from another string but the only thing I could see was substr() which uses integers when my strings will be different lengths.

Take a look at the string, I have a bunch of these I want to extract and echo the extras only if they exist. How can I do this with PHP. Thanks guys.

$string = 'Apple iPhone 6 Plus (Refurbished 16GB Silver) on EE Regular 2GB (24 Month(s) contract) with UNLIMITED mins; UNLIMITED texts; 2000MB of 4G data. ВЈ37.49 a month. Extras: Sennheiser CX 2.00i (Black)'; function freegifts($string) < if (strpos($string, 'Extras:') !== false < extract extras. >> 

So the function at the moment just checks to see if the word ‘Extras:’ is present, in this case i’d just like to echo ‘Sennheiser CX 2.00i (Black)’

Answer

Solution:

a regular expression is a fine idea, an alternative is plain old explode:

$string = 'Apple iPhone 6 Plus (Refurbished 16GB Silver) on EE Regular 2GB (24 Month(s) contract) with UNLIMITED mins; UNLIMITED texts; 2000MB of 4G data. ВЈ37.49 a month. Extras: Sennheiser CX 2.00i (Black)'; $x=explode('Extras:',$string); if(!empty($x[1])) 

output «Sennheiser CX 2.00i (Black)»

Answer

Solution:

if (preg_match("(? <=Extras:).*", $string, $matches)) < print_r($matches); >else 

Answer

Solution:

$string = 'Apple iPhone 6 Plus (Refurbished 16GB Silver) on EE Regular 2GB (24 Month(s) contract) with UNLIMITED mins; UNLIMITED texts; 2000MB of 4G data. ВЈ37.49 a month. Extras: Sennheiser CX 2.00i (Black)'; // 'Extras:' is 7 chars $extras = substr($string, strpos($string, 'Extras:') + 7); echo $extras; OUTPUT: Sennheiser CX 2.00i (Black) 

there is prob. an easier way to do this, but it works if you are always looking for what is after ‘Extras:’ strpos() returns an int.

Share solution ↓

Additional Information:

Didn’t find the answer?

Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.

Similar questions

Find the answer in similar questions on our website.

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.

About the technologies asked in this question

PHP

PHP (from the English Hypertext Preprocessor — hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites. The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/

Welcome to programmierfrage.com

programmierfrage.com is a question and answer site for professional web developers, programming enthusiasts and website builders. Site created and operated by the community. Together with you, we create a free library of detailed answers to any question on programming, web development, website creation and website administration.

Get answers to specific questions

Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.

Help Others Solve Their Issues

Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.

Источник

Читайте также:  Anaconda python от continuum
Оцените статью