Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyrażenie regularne problem
smiady
post
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


Mam taki kod:

  1. preg_match_all('/([komorka]){1}.+([komorka]){1}/',
  2. '[komorka]10[komorka]20[komorka]30[komorka]40[komorka]50[komorka]',
  3. $wynik);
  4.  
  5. echo '<pre>'; print_r($wynik); echo '</pre>';


i otrzymałem taki wynik:

Array
(
[0] => Array
(
[0] => komorka]10[komorka]20[komorka]30[komorka]40[komorka]50[komorka
)

[1] => Array
(
[0] => k
)

[2] => Array
(
[0] => a
)

)

a chce otrzymać zwrócone tylko liczby.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Podaj jakiś przykładowy realny ciąg znaków, z którego będziesz chciał te liczby pobierać.
Go to the top of the page
+Quote Post
smiady
post
Post #3





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


Robię plugina do wordpressa, aby tworzyć tabelki i ten przykład ciągu znaków:
[komorka]10[komorka]20[komorka]30[komorka]40[komorka]50[komorka] jest realny i między komórkami może się znaleźć dosłownie wszystko (nie tylko liczby)

Ten post edytował smiady 19.07.2014, 18:43:47
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Nie odpowiedziałeś precyzyjnie na moje pytanie.

Czy Ty czasem nie robisz po prostu shortcode'u: http://codex.wordpress.org/Shortcode_API ? Domyślam się, że próbujesz zamienić numery telefonu wewnątrz [komorka] na link czy coś. Pytanie tyko dlaczego nie zamykasz tego ciągu [komorka]? Czyli np.:
Kod
[komorka]Mój nr to 123456789, dzwońcie[/komorka]


Bo takie coś:
Kod
[komorka]10[komorka]20[komorka]


To za bardzo sensu nie ma.
Go to the top of the page
+Quote Post
smiady
post
Post #5





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


Dokładnie robię shortcode, a nie plugin, ale mój zapis może być 10 to pierwsza kolumna, 20 to druga, ale w sumie zapis [komorka]10[/komorka] też może być tylko, że nie daje sobie rady z wyrażeniem regularnym. Chodzi mi o pobranie tych wartości do tablicy.

Ten post edytował smiady 19.07.2014, 18:51:14
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #6





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No to inaczej. Co będzie wynikiem takiego zapisu? Chodzi mi o wynikowy HTML.
Kod
[komorka]Mam 101 dalmatyńczyków[/komorka][komorka]1, 2, 3[/komorka][komorka]Ala ma kota.[/komorka]
Go to the top of the page
+Quote Post
smiady
post
Post #7





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


widzę, że dążysz do preg_replace ? (IMG:style_emoticons/default/smile.gif)

Będzie to HTMLowska tabela, ale chce mieć te wartości w tablicy, bo potem będę ubierać to w znaczniki td tr, ale będą mieć te komórki rózne atrybuty, więc nie chce mieć preg_replace.
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #8





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Na razie dążę do zrozumienia o co Ci chodzi (IMG:style_emoticons/default/tongue.gif) Bo nadal nie powiedziałeś do czego Ci te liczby potrzebne. Prawdę mówiąc nie wiem czy Ty sam dokładnie wiesz co chcesz zrobić. Ponawiam prośbę o dokładny wynikowy HTML, to będziemy dalej kombinować.
Go to the top of the page
+Quote Post
smiady
post
Post #9





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


Chcę tylko, aby z zapisu:
[komorka]10[/komorka][komorka]ala ma kota[/komorka]
wyciągnąć tablicę o wartościach: 10, ala ma kota
kod HTML myślę, że nie będzie potrzebny, aby pomóc mi w odpowiedzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #10





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


WordPress pomaga w tym.

  1. function komorka_shortcode($atts, $content = null) {
  2. // zmienna $content zawiera to, co ktoś wpisał między [komorka] a [/komorka]
  3. }
  4.  
  5. add_shortcode( 'komorka', 'komorka_shortcode' );


Zastanów się czy na pewno potrzebujesz takiej tablicy. Jeśli nadal twierdzisz, że tak, to możesz stworzyć globalną zmienną tablicową i wewnątrz funkcji komorka_shortcode() dodawać do niej $content. Z kilku powodów to lepsze rozwiązanie niż wyrażenia regularne.
Go to the top of the page
+Quote Post
smiady
post
Post #11





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


SmokAnalog dzięki za pomoc i zaangażowanie. Chodzi mi o to, że shortcodem jest znacznik [tablica][/tablica], a w zmiennej $content ciąg znaków [komorka]5434[/komorka][komorka]dfs434[/komorka] - co by przemieniło w tablicę, a w zmiennej $attr parametry do sformatowania tablicy

Ten post edytował smiady 19.07.2014, 19:23:11
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #12





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


To dla [tablica] byś musiał zrobić coś na ten kształt:
  1. function tablica_shortcode($atts, $content = null) {
  2. echo do_shortcode($content);
  3. }
  4.  
  5. add_shortcode( 'tablica', 'tablica_shortcode' );


A dla [komorka] tak, jak pokazałem wcześniej.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 17:00