<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>preg_replace() &#8212; ploshadka.net</title>
	<atom:link href="https://ploshadka.net/tag/preg_replace/feed/" rel="self" type="application/rss+xml" />
	<link>https://ploshadka.net</link>
	<description>Мир интернет технологий</description>
	<lastBuildDate>Tue, 22 Mar 2022 06:01:02 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1</generator>
	<item>
		<title>Как удалить значок доллара и пробелы с помощью preg_replace</title>
		<link>https://ploshadka.net/preg_replace-remove-dollar/</link>
					<comments>https://ploshadka.net/preg_replace-remove-dollar/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sat, 05 May 2018 08:00:20 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP примеры и разбор]]></category>
		<category><![CDATA[preg_replace()]]></category>
		<category><![CDATA[str_replace]]></category>
		<category><![CDATA[substr]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3296</guid>

					<description><![CDATA[Удаляем значок доллара, находящийся впереди какого-нибудь значения, с помощью PHP функции preg_replace. Также удаляем пробелы и меняем формат вывода числа. Удаляем доллар спереди числового значения Скажем, у нас есть переменная, в которой содержится такие данные: $dollar = '$ 4 000...]]></description>
										<content:encoded><![CDATA[<p>Удаляем значок доллара, находящийся впереди какого-нибудь значения, с помощью PHP функции <strong>preg_replace</strong>. Также удаляем пробелы и меняем формат вывода числа. <span id="more-3296"></span></p>
<h2>Удаляем доллар спереди числового значения</h2>
<p>Скажем, у нас есть переменная, в которой содержится такие данные:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$dollar = '$ 4 000 000';</div></div>
<p>Мы хотим в другую переменную сохранить значение 4 000 000 без доллара. Для этого выполним:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$remove_dollar = preg_replace('![^\w\d\s]*!','',$dollar);</div></div>
<p>Если это не поможет, попробуйте это:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$removed_dollar = preg_replace('/\s+/', '', $dollar);</div></div>
<p>Можно пойти и другим путём. Например использовать функцию substr():</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$remove_dollar = substr($dollar, 2, 10 );</div></div>
<p>Эта функция вырезает данные из требуемого значения. В приведенном примере начиная с <strong>третьего</strong> символа и до 10-ого. </p>
<p>Или если число может быть очень большим и за ним ничего лишнего нет, то лучше использовать конструкцию таким образом:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$remove_dollar = substr($dollar, 2);</div></div>
<p>Первое значение substr, то с чего начинается вырезка, второе &#8212; то до куда она идёт.</p>
<h2>Удаляем пробелы в числе</h2>
<p>А если требуется удалить пробелы у этой цифры, то дальше можно сделать это двумя путями:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$removed_space = str_replace(' ', '', $removed_dollar);</div></div>
<p>или</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$removed_space = preg_replace('/\s+/', '', $removed_dollar);</div></div>
<p>В результате всех этих манипуляций, значение &#8216;$ 4 000 000&#8217; превратиться в 4000000.</p>
<h2>Приводим число к удобочитаемому виду</h2>
<p>А если нужно наоборот разделить пробелами цифру, то для этого будем использовать такую конструкцию:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">echo number_format( $removed_space, 0, '', ' ' );</div></div>
<p>В результате получим те же:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">4 000 000</div></div>
<h2>Зачем может пригодится менять значения туда и обратно?</h2>
<p>Бывает, числовое значение нужно сохранить в базу данных для дальнейшей обработке. Если там будут пробелы или лишние цифры, то это приведет к невозможности функций сравнений или другой обработке данных. Поэтому лучше всего в базе данных (а иногда требуется и для переменной) хранить данные в числовом значении без всяких других элементов. А если потом требуется вывести эти данные на сайт, то для этого есть множество удобных способов.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/preg_replace-remove-dollar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Как заменить данные в записях WordPress используя регулярные выражений в PHP</title>
		<link>https://ploshadka.net/post_content-preg_replace-preg_match/</link>
					<comments>https://ploshadka.net/post_content-preg_replace-preg_match/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Mon, 30 Oct 2017 11:03:33 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[get_the_content]]></category>
		<category><![CDATA[preg_match()]]></category>
		<category><![CDATA[preg_replace()]]></category>
		<category><![CDATA[single.php]]></category>
		<category><![CDATA[the_content]]></category>
		<category><![CDATA[Парсинг страниц]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3369</guid>

					<description><![CDATA[Уже имеется заметка, как массово поменять текст в WordPress. В этой же статье разберу замену текста при выводе записей (the_content), а также использование регулярных выражений. Замена текста с помощью PHP в записях WordPress Разберем регулярные выражения на примере поиска и...]]></description>
										<content:encoded><![CDATA[<p>Уже имеется заметка, как <a href="https://ploshadka.net/wordpress-text-replace/">массово поменять текст в WordPress</a>. В этой же статье разберу замену текста при выводе записей (<strong>the_content</strong>), а также использование регулярных выражений. <span id="more-3369"></span></p>
<h2>Замена текста с помощью PHP в записях WordPress</h2>
<p>Разберем <a href="https://ploshadka.net/regular-expressions/">регулярные выражения</a> на примере поиска и замены как самого текста, так и элементов внутри определенных дивов при выводе информации в WordPress .</p>
<h3>Для удобства замены преобразуем вывод поста в переменную</h3>
<p>Контент записи в WordPress выводится функцией:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">the_content()</div></div>
<p>Положим <strong>содержимое функции вывода</strong> поста (the_content) в переменную <strong>$content</strong>:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = apply_filters( 'the_content', get_the_content() );</div></div>
<p>Теперь мы можем выводить содержимое поста таким образом:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">echo $content;</div></div>
<h3>Удаление данных с помощью preg_replace</h3>
<p>Теперь для удаления данных со страницы записи WordPress используем такую конструкцию, которая изменит содержимое переменной $content. А именно найдет в данных нужный нам текст, структуру html и любое другое содержимое, а затем удалит её со страницы.</p>
<p>Удаление содержимого в конкретном див теге (с конкретным классом):</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace('/(&lt;div.*?class=&quot;price&quot;[^&gt;]*&gt;)(.*?)(&lt;\/div&gt;)/i', '$1$3', $content);</div></div>
<p>Удаление всего конкретного див тега:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace('/(&lt;div.*?class=&quot;price&quot;[^&gt;]*&gt;)(.*?)(&lt;\/div&gt;)/i', '', $content);</div></div>
<p>Остальные примеры можно найти в статье про <a href="https://ploshadka.net/preg_replace/">preg_replace</a>.</p>
<h3>Вывод данных с помощью preg_match</h3>
<p>Вместо предыдущей функции <strong>preg_replace</strong>, где мы убираем текст, с помощью preg_match можно находить конкретные данные и сохранять их в переменную для последующего вывода.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">preg_match(&quot;/&lt;h2&gt;(.*?)&lt;\/h2&gt;/s&quot;, $post-&gt;post_content, $matches);</div></div>
<p>где:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$post-&gt;post_content&quot;</div></div>
<p>то, где мы ищем, в данном случае мы ищем информацию в записи WordPress страницы.</p>
<p>Когда мы нашли мы можем вывести эту запись в любом другом месте. </p>
<p>Вывод записи:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">print($matches [0]);</div></div>
<p>Или даже сохранить в произвольное поле, содержимое которого также можем вывести в любом другом месте.</p>
<p>Больше примеров смотрите в статье о <a href="https://ploshadka.net/preg_match/">preg_match</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/post_content-preg_replace-preg_match/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Примеры функции замены preg_replace в PHP</title>
		<link>https://ploshadka.net/preg_replace/</link>
					<comments>https://ploshadka.net/preg_replace/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Mon, 30 Oct 2017 10:46:39 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP примеры и разбор]]></category>
		<category><![CDATA[preg_replace()]]></category>
		<category><![CDATA[str_replace]]></category>
		<category><![CDATA[trim()]]></category>
		<category><![CDATA[Основательные труды]]></category>
		<category><![CDATA[Парсинг страниц]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3364</guid>

					<description><![CDATA[С помощью функции preg_replace можно находить и изменять требуемые данные на странице. Также читайте статью, где функцией preg_replace мы удаляем данные в профиле пользователя WordPress. Есть схожая функция, которая вместо замены находит данные для последующей обработки, называется preg_match. Функция preg_replace...]]></description>
										<content:encoded><![CDATA[<p>С помощью функции <strong>preg_replace</strong> можно находить и изменять требуемые данные на странице. <span id="more-3364"></span></p>
<p>Также читайте статью, где функцией preg_replace мы удаляем данные в <a href="https://ploshadka.net/wordpress-user-profile-clean/">профиле пользователя WordPress</a>.</p>
<p>Есть схожая функция, которая вместо замены находит данные для последующей обработки, называется <a href="https://ploshadka.net/preg_match/">preg_match</a>.</p>
<div class="highlight">Функция preg_replace работает следующим образом:</p>
<p>Первый параметр, с помощью <a href="https://ploshadka.net/regular-expressions/">регулярных выражений</a> задаёт критерий поиска.</p>
<p>Второй параметр указывает на что меняем найденные данные.</p>
<p>Третий параметр &#8212; там где мы производим поиск.</p></div>
<h2>preg_replace в DIV</h2>
<p>Удаление содержимого внутри тега DIV:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace('/(&lt;div[^&gt;]*&gt;)(.*?)(&lt;\/div&gt;)/i', '$1$3', $content);</div></div>
<p>Удаление содержимого вместе с самим тегом div:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace('/&lt;div[^&gt;]*&gt;.*?&lt;\/div&gt;/i', '', $content);</div></div>
<p>Удаление содержимого в конкретном див теге (с конкретным классом):</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace('/(&lt;div.*?class=&quot;price&quot;[^&gt;]*&gt;)(.*?)(&lt;\/div&gt;)/i', '$1$3', $content);</div></div>
<p>Удаление всего конкретного div тега:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace('/(&lt;div.*?class=&quot;price&quot;[^&gt;]*&gt;)(.*?)(&lt;\/div&gt;)/i', '', $content);</div></div>
<p>Удаляем изображение из контента:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$content = preg_replace(&quot;/&lt;img[^&gt;]+\&gt;/i&quot;, &quot;&quot;, $content);</div></div>
<h2>preg_replace для цифр и знаков</h2>
<p>Удаляем всё постороннее кроме цифр:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$clean_number = preg_replace('~[^0-9]+~','',$content);</div></div>
<p>Удаление доллара спереди:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$clean_number = preg_replace('/&amp;.*?;/','',$content);</div></div>
<p>Удаление запятой из слов и цифр:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$clean_number = preg_replace('/,/', '', $content);</div></div>
<p>Удаление пробелов внутри цифры:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$clean_number = preg_replace('![^\w\d\s]*!','',$content);</div></div>
<h3>Иногда похожие задачи выполняют другие php функции:</h3>
<p>Удаление пробелов с обоих сторон от цифр:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$clean_number = str_replace(' ','',$content);</div></div>
<p>Удаление всех пробелов сначала и с конца выражения:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$clean_number = trim($content);</div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/preg_replace/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Регулярные выражений в PHP</title>
		<link>https://ploshadka.net/regular-expressions/</link>
					<comments>https://ploshadka.net/regular-expressions/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sat, 21 Oct 2017 08:10:06 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[preg_match()]]></category>
		<category><![CDATA[preg_replace()]]></category>
		<category><![CDATA[Основательные труды]]></category>
		<category><![CDATA[Парсинг страниц]]></category>
		<category><![CDATA[Регулярные выражения]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3156</guid>

					<description><![CDATA[Заметка о регулярных выражениях. Зачем они нужны, где используются и как их применять. Иными словами о поиске в PHP. Регулярные выражения &#8212; это набор указателей, которые используются в поиске, для нахождения нужных данных. Использование регулярных выражений в функциях PHP, замены...]]></description>
										<content:encoded><![CDATA[<p>Заметка о регулярных выражениях. Зачем они нужны, где используются и как их применять. Иными словами о поиске в PHP. <span id="more-3156"></span></p>
<div class="highlight"><strong>Регулярные выражения</strong> &#8212; это набор указателей, которые используются в поиске, для нахождения нужных данных.</div>
<p>Использование регулярных выражений в функциях PHP, замены <a href="https://ploshadka.net/preg_replace/">preg_replace</a>, поиска <a href="https://ploshadka.net/preg_match/">preg_match</a>. </p>
<p>Например, рассмотрим такую функция:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">preg_replace('/(&lt;div[^&gt;]*&gt;)(.*?)(&lt;\/div&gt;)/i', '$1$3', $string);</div></div>
<p>То что внутри этой функции, все эти на первый взгляд непонятные значения, называется <strong>регулярным выражением (PHP RegEx)</strong>. Они используются для поиска конкретных данных. </p>
<p>Шаблон (символы) поиска берет своё начало с языка <strong>Perl</strong>.</p>
<p>Регулярные выражения делятся на <strong>метасимволы</strong> и <strong>модификаторы</strong> метасимволов.</p>
<p>Метасимволы &#8212; определяют группу обычных символов. Модификаторы &#8212; помогают понять сколько и какое количество этих символов искать.</p>
<h3> Метасимволы регулярного выражения</h3>
<p>Значения некоторых метасимволов из примера выше (также они будут встречаться ниже):</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">^ - начало строки<br />
\ - считать следующий элемент обычным символом (не командой)<br />
. - один произвольный (любой случайный) символ<br />
() - группировка (подмаска)<br />
[ ] - класс символов<br />
$ - конец строки<br />
| - альтернатива (или)</div></div>
<h3>Модификаторы регулярного выражения</h3>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">* - повторять от 0 до бесконечности<br />
? - искать 1 раз или меньше</div></div>
<p>Ещё модификаторы, но не используются в текущих примерах:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">+ - повторять 1 или большее число раз<br />
{n} - точное количество раз (заменить n цифрой)<br />
{n,5} - по меньшей мере 5 раз<br />
{n,m} - не меньше n, но и не больше m</div></div>
<p>Любой из вышеперечисленных модификаторов сочетается с модификатором &#171;?&#187;. Он необходим для ограничения поиска, потому что <strong>по умолчанию</strong> все метасимволы повторяются по принципу <strong>&#171;жадности&#187; (без ограничения)</strong>. </p>
<p>Например:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">(&lt;.*&gt;) - найдет всю строку со всеми тегами<br />
(&lt;.*?&gt;) - найдет только теги</div></div>
<h3>Дополнительные опции</h3>
<p>Кроме модификаторов и метасимволов есть опции (приведены не все):</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">/i - не имеет значения регистр символов (строчные и заглавные)<br />
/s - делает точки (.) переносом строки и возврата каретки (сдвиг влево).<br />
/U - превращается все количественные метасимволы в &quot;не жадные&quot;.</div></div>
<p>Опции могут сочетаться вместе:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">/isU</div></div>
<h3>Шаблоны</h3>
<p>Также существуют шаблоны, что-то вроде аналога метасимволов, один из них:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">\n - новая строка</div></div>
<p>На данной странице приведены не все параметры регулярных выражений. Это сделано специально, чтобы не запутать новичка и в то же время дать ему основные инструменты для поиска. В дальнейшем, при желании углубиться в детали, в Интернете можно найти более подробную инструкцию.</p>
<h2>Эксперименты</h2>
<p>Поэкспериментировать с регулярным выражением можно <a href="https://regex101.com" rel="noopener" target="_blank">на этом сайте</a>. Вверху вбиваете регулярное выражение, а снизу данные html в которых ищите. При правильном подборе регулярного выражения будет выделяться нужный вам участок кода.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/regular-expressions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Как удалить из профиля пользователя WordPress лишние поля</title>
		<link>https://ploshadka.net/wordpress-user-profile-clean/</link>
					<comments>https://ploshadka.net/wordpress-user-profile-clean/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Fri, 15 Sep 2017 10:10:55 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[functions.php]]></category>
		<category><![CDATA[preg_replace()]]></category>
		<category><![CDATA[Оптимизация WordPress]]></category>
		<category><![CDATA[Основательные труды]]></category>
		<category><![CDATA[Регулярные выражения]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=2654</guid>

					<description><![CDATA[В профиле пользователя на WordPress очень много неактуальных полей. В дополнение к этому некоторые плагины добавляют свои поля, что делает эту страницу перегруженной и ужасно некрасивой. В статье привожу все известные мне и рабочие способы удаления. Условно можно разбить удаление...]]></description>
										<content:encoded><![CDATA[<p>В профиле пользователя на WordPress очень много неактуальных полей. В дополнение к этому некоторые плагины добавляют свои поля, что делает эту страницу перегруженной и ужасно некрасивой. В статье привожу все известные мне и рабочие способы удаления. <span id="more-2654"></span></p>
<p><a href="https://ploshadka.net/wp-content/uploads/2654/user-profile.jpg" rel="lightbox-0"><img decoding="async" loading="lazy" src="https://ploshadka.net/wp-content/uploads/2654/user-profile-600x389.jpg" alt="" width="600" height="389" class="aligncenter size-medium wp-image-2659" srcset="https://ploshadka.net/wp-content/uploads/2654/user-profile-600x389.jpg 600w, https://ploshadka.net/wp-content/uploads/2654/user-profile-1200x777.jpg 1200w, https://ploshadka.net/wp-content/uploads/2654/user-profile-270x175.jpg 270w, https://ploshadka.net/wp-content/uploads/2654/user-profile.jpg 1896w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<div class="highlight">Условно можно разбить удаление неугодных полей на четыре варианта. Рассмотрим их все. Коды нужно вставлять в файл functions.php своей темы на WordPress.</div>
<h2>1. Удаление полей в профиле пользователя через CSS</h2>
<p>Самый главный минус &#8212; не все элементы имеют уникальные ID или класс (class), за которые цепляется CSS. А значит убрать получится не всё.</p>
<p>Для примера уберём выбор схемы пользователя в профиле WordPress.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">// Удаление из профиля пользователя лишних элементов<br />
function hide_profile_css() {<br />
&nbsp; &nbsp; echo '<br />
&nbsp; &nbsp; &lt;style type=&quot;text/css&quot;&gt;<br />
&nbsp; &nbsp; .user-admin-color-wrap {<br />
&nbsp; &nbsp; &nbsp; &nbsp; display: none;<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; &lt;/style&gt;<br />
&nbsp; &nbsp; ';<br />
}<br />
add_action('admin_head','hide_profile_css');</div></div>
<h2>2. Удаление полей посредством встроенных функций WordPress</h2>
<p>Отличное и готовое решение. Из минусов не всё можно удалить, а только то, что было изначально задумано.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">/* = Удаляем из профиля пользователя элементы<br />
стандартным способом<br />
----------------------------------------- */<br />
<br />
function remove_profile_fields_contactmethods( $contactmethods ) {<br />
&nbsp; &nbsp; $contactmethods[ 'snup_vkontakte' ] = 'url ВКонтакте'; // добавляем ВКонтакте.<br />
&nbsp; &nbsp; $contactmethods[ 'snup_twitter' ] = 'url Twitter'; // добавляем Twitter.<br />
&nbsp; &nbsp; return $contactmethods; // Возвращаем результат<br />
}<br />
add_filter( 'user_contactmethods', 'remove_profile_fields_contactmethods', 10, 1 );</div></div>
<p>С помощью этой же переменной <strong>$contactmethods</strong> можно и добавить значения, но в этой статье не об этом. Остальные unset можно найти на просторах интернета. К сожалению, полезных не так много. С её помощью нельзя отключить поля добавленные плагинами.</p>
<p>Ещё один пример. Удаление цветовой схемы из первого пункта, но уже посредством php.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">function unset_profile_colorcheme() {<br />
&nbsp; global $_wp_admin_css_colors;<br />
&nbsp; $_wp_admin_css_colors = 0;<br />
}<br />
add_action('admin_head', 'unset_profile_colorcheme');</div></div>
<h2>3. Удаление непредусмотренных для удаление полей с помощью PHP</h2>
<p>Отличный способ, если хорошо разбираться в php, потому что многие элементы также не имеют классы и ID или другие хорошо понятные структуры, за которые можно зацепиться.</p>
<p>Код для удаления полей. Можно удалить все заголовки H2, H3 или элементы li. Для этого нужно просто добавить в код ниже: &#171;li&#187; или &#171;h3&#187;</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">/* = Удаляем из профиля пользователя элементы<br />
непредусмотренные встроенными функциями<br />
----------------------------------------- */<br />
<br />
function remove_profile_fields_selectors() {<br />
<br />
&nbsp; &nbsp; $delete = array(<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Цветовая схема<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;tr.user-admin-color-wrap&quot;,<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Горячие клавиши<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;tr.user-comment-shortcuts-wrap&quot;,<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Основной язык сайта<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;tr.user-language-wrap&quot;,<br />
&nbsp; &nbsp; );<br />
<br />
&nbsp; &nbsp; $selectors = implode(&quot;, &quot;, $delete);<br />
<br />
&nbsp; &nbsp; echo &quot;&lt;style&gt;{$selectors}{display:none;}&lt;/style&gt;&quot;; ?&gt;<br />
<br />
&nbsp; &lt;?php<br />
}<br />
add_action('admin_head','remove_profile_fields_selectors');</div></div>
<p>Пример удаления с помощью PHP, из профиля пользователя, заголовка и содержимого плагина <strong>MashShare</strong>. Одновременно удаляем заголовок и одну часть таблицы плагина <strong>Default Category For New Posts</strong>.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">/* = Удаляем из профиля заголовки плагинов<br />
и их поля (получается не для всех плагинов)<br />
----------------------------------------- */<br />
<br />
function remove_profile_fields($delete) {<br />
<br />
&nbsp; &nbsp; $titles = array(<br />
&nbsp; &nbsp; '#&lt;h3&gt;MashShare Social Media Integration&lt;\/h3&gt;#',<br />
&nbsp; &nbsp; '/(&lt;table[^&gt;]*&gt;)(.*?)Twitter Username(.*?)(&lt;\/table&gt;)/i',<br />
<br />
&nbsp; &nbsp; '#&lt;h3&gt;Default Category For New Posts&lt;\/h3&gt;#',<br />
<br />
&nbsp; &nbsp; '/(&lt;th.*scope=&quot;row&quot;&gt;)Categories(&lt;\/th&gt;)/i',<br />
&nbsp; &nbsp; );<br />
<br />
&nbsp; &nbsp; $delete=preg_replace($titles,'',$delete,1);<br />
<br />
&nbsp; &nbsp; return $delete;<br />
}<br />
<br />
function remove_profile_fields_start() {<br />
&nbsp; &nbsp; ob_start(&quot;remove_profile_fields&quot;);<br />
}<br />
<br />
add_action('admin_head', 'remove_profile_fields_start');</div></div>
<p>Иногда сложно удалить какой-то элемент на страницы с помощью PHP, потому что не понятно как за него зацепиться. Есть более подробная статья о <a href="https://ploshadka.net/regular-expressions/">регулярных выражениях</a>.</p>
<h2>4. Удаление полей с помощью JavaScript</h2>
<p>Самый крутой (если бы не было минусов) и удобный способ удаления. Небольшой код и огромные возможности JavaScript творят чудеса. С его помощью можно легко прятать абсолютно любые элементы на странице. </p>
<p>К сожалению есть один жирный минус такого способа. Если у пользователя будет отключен JavaScript, то все спрятанные элементы будут отображены. С другой стороны, сложно найти пользователя, который решил отключить его у себя в браузере.</p>
<p>Так как способ прятать элементы JavaScript-ом имеют вышеперечисленный недостаток, будем его использовать только в самом крайнем случае. А именно тогда, когда спрятать элементы другим способ или нельзя или непонятно как.</p>
<p>Будем использовать команду <strong>jQuery .hide()</strong>. </p>
<p>В примере ниже скрываем заголовок h3 в котором содержится название данное в скобках. И полностью скрываем таблицу со всеми его элементами, если в ней находится определенное слово или слова.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">/* = Удаляем из профиля пользователя<br />
оставшиеся элементы с помощью JavaScript<br />
----------------------------------------- */<br />
<br />
add_action('admin_head','hide_personal_options');<br />
function hide_personal_options() { ?&gt;<br />
&nbsp; &nbsp; &lt;script&gt;<br />
&nbsp; &nbsp; jQuery(document).ready(function($) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Скрываем плагин Default Category<br />
&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;h3:contains('Default Category For New Posts')&quot;).hide();<br />
&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;table:contains(' Без рубрики')&quot;).hide();<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; // Скрываем плагин mashshare<br />
&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;h3:contains('MashShare Social Media Integration')&quot;).hide();<br />
&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;table:contains('Twitter Username')&quot;).hide();<br />
&nbsp; &nbsp; });<br />
&nbsp; &nbsp; &lt;/script&gt;<br />
&lt;?php<br />
}</div></div>
<p>В результате всех этих действий профиль пользователя становится чистым и аккуратным.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/wordpress-user-profile-clean/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
