Замена HTML-атрибутов с помощью regex в PHP

Вот полезный плагин, который делает именно то, что вы ищете: https://wordpress.org/plugins/wps-hide-login/

В области настроек ( Боковое меню администратора -> Настройки -> Общие -> до конца страницы, выберите предпочитаемый URL-адрес входа и «404» для страницы с ошибкой.

Например, вместо того, чтобы идти на « https://example.com/wp-login.php » вы можете войти по адресу « https://example.com/secret-entrance ». [115 ]

Чтобы скрыть его, не забудьте удалить виджет боковой панели «meta», чтобы люди не могли определить ваш секретный логин.

5
задан Rich Bradshaw 22 April 2009 в 14:46
поделиться

3 ответа

PHP уникален среди основных языков тем, что хотя регулярные выражения указываются в виде строковых литералов, как в Python, Java и C #, вы также должны использовать разделители регулярных выражений, как в Perl, JavaScript и Ruby.

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

Наконец, вы можете объединить две замены в одну с помощью простого чередования:

$pattern = '/(width|height)="[0-9]*"/i';
7
ответ дан 13 December 2019 в 19:35
поделиться

Для вашего паттерна требуется символ начала / конца паттерна. Примерно так:

$pattern = "/height=\"[0-9]*\"/";
$string = preg_replace($pattern, "", $string);

"/" - обычный символ, но большинство символов будет работать ("| pattern |", "# pattern #", как угодно).

4
ответ дан 13 December 2019 в 19:35
поделиться

Я думаю, что вы пропустили скобки (которые могут быть //, || или другими другими парами символов), которые должны окружать регулярное выражение в строке. Попробуйте изменить назначения $ pattern на эту форму:

$pattern = "/width=\"[0-9]*\"/";

... если вы хотите иметь возможность сравнения без учета регистра, добавьте 'i' в конце строки, таким образом:

$pattern = "/width=\"[0-9]*\"/i";

Надеюсь, это поможет ! Дэвид

0
ответ дан 13 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

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