strpos и substr в строке
У меня есть HTML-файл, который содержит только текст. Там нет стилей или что-нибудь.
Текст выглядит так:
ID NAME ANOTHER-ID-11-LETTERS MAJOR
Пример:
20 Paul Mark Zedd 10203040506 Software Engineering
ID
а также ANOTHER-ID-11-LETTER
это числа..NAME
А также MAJOR
являются обычным текстом, а также содержат пробелы.
Как я могу лишить их и сделать каждое слово или каждый контент в новой строке, используя PHP?
Ожидаемый результат:
20
Paul Mark Zedd
10203040506
Software Engineering
2 ответа
Решение
Похоже, что первым элементом всегда является число, за которым следует пробел, за которым следует имя, которое может быть любым, за которым следует число, состоящее из 11 цифр, сопровождаемое еще одним текстом.
Вы можете использовать регулярные выражения и приведенные выше детали, чтобы разбить строку
$test = preg_match("/([0-9]*?)\s(.*?)([0-9]{11})\s(.*)/is", "20 Paul Mark Zedd 10203040506 Software Engineering",$matchs);
print_r($matchs)
выход:
Array
(
[0] => 20 Paul Mark Zedd 10203040506 Software Engineering
[1] => 20
[2] => Paul Mark Zedd
[3] => 10203040506
[4] => Software Engineering
)
Просто используйте
preg_match:
#([\d]*)\s([a-zA-Z\s]*)\s([\d]*)\s([a-zA-Z\s]*)#
Пример вывода:
array (
0 => '20 Paul Mark Zedd 10203040506 SoftwareEngineering',
1 => '20',
2 => 'Paul Mark Zedd',
3 => '10203040506',
4 => 'SoftwareEngineering',
)