Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Klikalny numer telefonu
Forum PHP.pl > Forum > XML, AJAX
krzysztof_kf
Witam, mam problem, z którym od dłuższego czasu borykam się.

Mam pole, w którym są zapisywane numery telefonów, ale nie tylko.

Wygląda to tak
(43) 443-43-44, 653-049-000

w tym polu występują również różne wyrazy itp. itd.

Jest realne, aby z tego pola wyciągnąć tylko numery telefonów, które na urządzeniach mobilnych zamienią się na łącze?
vokiel
Jeśli nie masz możliwości zapisywania numerów w osobnych polach i musisz je wyciągać z treści, to pozostaje regex, a następnie zastępowanie numerów tagiem
  1. <a href="tel:TUTAJ_NUMER">TUTAJ_NUMER</a>
krzysztof_kf
Jak się za to zabrać.

Dobra, poradziłem sobie.

Jednak nie do końca to działa.

Mam taki kod

  1. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  2. var html = jQuery("div.contact-person-telephone").html();
  3. console.log(html);
  4. html = html.replace(/[0-9]{3}-[0-9]{3}-[0-9]{3}\s+|[0-9]{3}-[0-9]{3}-[0-9]{2}\s/g, function(match) {
  5. return '<a href="tel:' + match + '">Call me</a> ';
  6. });
  7. console.log(html);
  8. jQuery("div.contact-person-telephone").html(html)
  9.  
  10. <?php
  11.  
  12. $test = "test 594-444-304 test1";
  13. ?>
  14. <div class="contact-person-telephone">
  15. <?php echo $test; ?>
  16. </div>


Czemu numer tel. ze zmiennej $test nie zmienia się w odnośnik?
trueblue
Bo wywołujesz kod JS przed wyrenderowaniem DOM, czyli kiedy nie widzi on jeszcze Twojego <div>.
krzysztof_kf
Tak myślałem, ale jak to zrobić.
viking
https://api.jquery.com/ready/

Albo przenieść script na koniec strony.
krzysztof_kf
Wszystko jest ok, ale mam taką zmienną, która wyświetla między innymi nr. tel. w larave. Nie chce działać.

  1. {!! $contact->number !!}
markonix
Wg mnie znacznie lepszym pomysłem jest tego zrobienie po stronie PHP wyrażeniem regularnym, a potem wyświetlenie tylko w widoku oczywiście w
  1. {!! !!}
lub zrobienie helpera (jest dużo gotowców, najczęstszy case to wyszukiwanie linków i zmiana ich na linki, tu zasada taka sama tylko numery telefonów są mniej jednolite).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.