Професионална програма
Loading...
+ Нов въпрос
vkutov avatar vkutov 57 Точки

Аз се сещам за регулярни изрази. Ама там никога нещата не са на 100 проц

0
TeodorStefanovPld avatar TeodorStefanovPld 1278 Точки

https://stackoverflow.com/questions/4955433/php-multiple-delimiters-in-explode - google magic най-добрия приятел на програмиста :Д

0
vkutov avatar vkutov 57 Точки

Много ми харесва Теодор, хитра алтернатива на регулярните изрази. Позтавяме един делиметър и готово.

0
TeodorStefanovPld avatar TeodorStefanovPld 1278 Точки

ами всичко се намира въпроса е да знаеш какво търсиш. Аз не кодя Php никога не съм а и покрай СТ го намразих. Но ми беше достатъчно да видя какво прави explode и как го ползват. За да разбера че е горе долу като string.split() което ползваме в с#. Както съм казвал вече на много колеги научиш ли основните неща в програмирането другото е просто синтаксис,както ни повтарят и постояно водещите обученията.

0
vkutov avatar vkutov 57 Точки

Да , мислих за тях, но не се получава логическото или. 

Naprimer

<?php


$str=explode(".!,", "what,the!,f.");
var_dump($str);

ми връща


array(1) {
  [0] =>
  string(12) "what,the!,f."
}
а не думите в в съответните индекси на масив [0]=>what и тн.

0
VelichkaAleksandrova avatar VelichkaAleksandrova 30 Точки

Да, така се опитва да ги раздели по целия стринг ".!,", а не по символи. Аз бих опитала със  str_word_count, като му задам $format=1. Така ще ти върне всички думи от даден стринг в масив. Виж тук дали ще ти свърши работа  http://php.net/manual/en/function.str-word-count.php

 

0
vkutov avatar vkutov 57 Точки

Да това ще свърши чудесна работа. Не се бях сетил. Имах в предвид да си сплитвам генерално , думите и буквите бяха просто пример. Да сложим и цифри например за по голяма гъвкавост. str_word_count обаче ще г използвам в бъдеще. 

0
delian1914 avatar delian1914 98 Точки

Ако правилно съм разбрал условието текста можеш да го разделиш с регулярен израз и да получиш масив от отделните елементи.

 

<?php
$regex = '/[.,!?]+/m';

$text = "This. is ugly, text! with? punctuations.";

$array = preg_split($regex, $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($array);
?>

result:

Array ( [0] => This [1] => is ugly [2] => text [3] => with [4] => punctuations )

 

Поздрави!

1