PHP Strip / Trim / Explode, чтобы удалить что-либо после определенной фразы - PullRequest
0 голосов
/ 16 декабря 2010

У меня есть форма, которая выводит значение cookie в скрытое поле ввода для отчетности. Cookie - это просто адрес электронной почты для входа в систему, связанный с сайтом. Иногда при отправке формы электронное письмо дважды отображается в поле ввода, что вызывает проблемы с программным обеспечением для составления отчетов.

Я подумал, что могу просто обработать строку перед ее выводом в поле ввода, чтобы удалить любые двойные вхождения слова или удалить что-либо после .org нашего домена (форма внутренняя, поэтому она всегда будет "ourdomain.org" «). Я пробовал несколько подходов, но ни один из способов, которые я думал / пробовал, не работал. Простой подсчет символов невозможен из-за разной длины адресов электронной почты. Когда он отображает электронную почту дважды, между ними нет пробела, поэтому разрыв пустого пространства не сработает. Я прочитал большую часть руководства по PHP, касающегося обработки строк, и не могу понять, как удалить что-либо после фразы, такой как «.org», при этом сохраняя «.org».

Ответы [ 3 ]

2 голосов
/ 16 декабря 2010

Вместо того, чтобы пытаться разобрать значение в поле, не следует ли вам попытаться исправить реальную проблему, которая заключается в том, что в этом поле есть что-то, что там не принадлежит?

0 голосов
/ 17 декабря 2010

Попробуйте strtstr () как в strstr ($ sring, '.org', true), но лучше сначала выяснить, почему письмо повторяется в поле.

Примечание: я думаю, что strstr () работает только с php 5.3 и выше. stristr () для чувствительного к регистру.

0 голосов
/ 16 декабря 2010

Это должно сработать.

<?php
$example="example.orgexample.org";
$example=substr($example,0,stripos($example,'.org')+4);
?>

Это удалит что-либо после первого найденного .org.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...