Задать вопрос
@vyaznikov1991
Набирающийся мудрости нуб-junior

Можно ли с помощью pdoTools вывести только цифры из TV поля?

Необходимо корректно выводить номер телефона.
Сейчас вывод сделан так:
<a href="tel:[[#5.phone-1]]" class="phone header__phone">[[#5.phone-1]]</a>


Проблема в том, что в поле сейчас записан телефон вида: 8 (000) 000-00-00 и эта строка выводится в ссылке, что не является корректным (w3c validator ругается).
Возможно ли каким-то образом pdoTools (или другое решение) оставить из строки только цифры?

P.S. Сейчас написан свой сниппет, который парсит строку (но мне кажется, что и с помощью pdoTools можно решить проблему):
[[!getPhone? &resourceId=`5` &variableId=`10`]]
  • Вопрос задан
  • 269 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
DarWiM
@DarWiM
Fenom в пакете pdoTools умеет как-то так
{5 | resource : 'phone-1' | preg_replace : '[^0-9]' : ''}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Froggyweb
Стоит написать сниппет котоовй работает как модификатор например посмоьри как у безумкина даты фильтруются
Ответ написан
Комментировать
@vyaznikov1991 Автор вопроса
Набирающийся мудрости нуб-junior
Спасибо Froggyweb за идею.
Написал простой сниппет с регулярным выражением, который оставляет в строке только цифры:
<?php
$result = preg_replace('/[^0-9]/', '', $input);;

return $result;


И теперь просто пишу:
<a href="tel:[[#5.phone-1:onlyNum]]" class="phone header__phone">[[#5.phone-1]]</a>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы