Функция mt_rand
int mt_rand ([int min, int max])
если до этого инициализировать ее одним и тем же числом дает каждый раз одинаковый результат при использовании одинакового диапазона.
Инициализация делается функцией mt_srand
void mt_srand (int seed)
Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями mt_srand(), поскольку теперь это происходит автоматически.
В документации сейчас не нашел упоминания о таком поведении генератора случайных чисел, просто в VB пользовался подобным эффектом.
Используя PHP 4.4.4 проверил сейчас такой пример
$int=12843864381;
mt_srand($int);
print mt_rand(1,43).'<br>';
Всегда выдает одинаковый результат
26
3
(если сменить начальное число или диапазон, то результат будет другим, но постоянным при данных условиях)
Не знаю будет ли такой же результат в других условиях (другая машина или другая версия PHP).
Если результат будет стабильным этот эффект можно использовать для решения задачи ТС, нужно будет только реализовать преобразование строки хеша в целое число для инициализации генератора.
Теперь понял что нужно было.
А то я Вам тени к картинкам предлагал сделать (что есть в Брунелесски, но нет в Twenty Ten)
Больше в минуса последнюю цифру сделайте
-14 например вместо -9
для "twentyten" в стилях для класса "wp-caption"
media="all"
.wp-caption {
background: rgb(241, 241, 241);
line-height: 18px;
margin-bottom: 20px;
max-width: 632px !important;
padding: 4px;
text-align: center;
}
a в "brunelleschi"
background: rgb(240, 240, 240);
max-width: 100% !important;
-webkit-box-shadow: 0 .7em 1.5em -14px black;
-moz-box-shadow: 0 .7em 1.5em -14px black;
-o-box-shadow: 0 .7em 1.5em -14px black;
box-shadow: 0 .7em 1.5em -9px black;
А насчет боди вопроса не понял---------- Добавлено 27.01.2013 в 01:23 ----------Скорей всего Вам вот это нужно
img[class*="align"], img[class*="wp-image-"], #content .gallery .gallery-icon img {
border: 1px solid rgb(221, 221, 221);
padding: 6px;
Если доменов много адресуется на папку с данным файлом htaccess, то конечно же перед правилом в этом файле, касающимся только одного домена, нужно ставить проверку
RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$
Так же и для реврайтов страниц вида
www.site.com/dir1/file1.html
если реврайты нужны только для конкретного домена site.com, нужно добавлять такую проверку:
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)\.html$
RewriteRule .* http://%{HTTP_HOST}/?cat=%1&name=%2 [L,E=RVR:yes]
Значит просто эти две строки остались от образца, по которому делали этот реврайт
А по поводу перенаправления статических страниц, то где-то так
RewriteCond %{REQUEST_URI} ^/(dir1|dir2)/([^./]+)\.html$
RewriteRule .* http://%{HTTP_HOST}/?cat=%1&name=%2 [L]
Это если у вас всего две перечисленные директории dir1 и dir2 (можно их заменить другими, реальными именами)
А для любых директорий можно сделать более универсально
RewriteCond %{REQUEST_URI} ^/([^./]+)/([^./]+)\.html$
Если у Вас не получалось, то проблема не в том что сайт в поддиректории, а в том что после применения правил реврайтов в htaccess (если новый адрес находится в "юрисдикции" того же htaccess) происходит новый вход в тот же файл и могут произойти новые реврайты из него, и так до тех пор пока после прохода по файлу преобразований не произойдет, либо после преобразования новый адрес не будет в "юрисдикции" данного htaccess
Чтоб этого избежать нужно применять дополнительные "хитрости" (одного флага [L] не хватает, он останавливает преобразования только текущего прохода по файлу htaccess)---------- Добавлено 18.01.2013 в 15:17 ----------Чтоб не было вмешательства других реврайтов попробуйте сразу после имеющихся строк
RewriteEngine On
RewriteBase /
(до любых других реврайтов) добавить такой код
RewriteCond %{ENV:REDIRECT_RVR} ^yes$
RewriteRule .* - [L]
У Вас разный контент для сайте для адресов с www и без www ?
Этот вопрос возникает после приведенной Вами конструкции
RewriteCond %{REQUEST_URI} !^/site.com/
RewriteCond %{HTTP_HOST} ^(www.)?site.com$
RewriteRule ^(.*)$ directory1/$1 [L]
Если контент одинаковый, то первые две строки из приведенной конструкции можно удалить, они лишние.
(подобные проверки делаются для редиректов с целью оставить только один адрес домена - без www)
Получаете текст
$text =' bla bla bla
<span class="reg">
<img src="/images/rus.gif" alt="" class="ina">
<img src="/images/eur.gif" alt="" class="ina">
<img src="/images/usa.gif" alt="" class="ina">
<img src="/images/jap.gif" alt="">
</span>
bla bla bla
';
и парсите его регулярным выражением
if(preg_match_all('#img src="(.*\.gif)"(?U).*(?-U)(?:( class="ina")|)>#im', $text, $found)){
//здесь либо выводите результат (чтоб посмотреть что получилось)
print '<pre>';
print_r($found);
print '</pre>';
//либо циклом проходитесь по массиву $found, чтоб выполнить действия в зависимости от его содержимого
Приведенное регулярное выражение не годится на все случаи жизни (можно сделать его более универсальным), но из приведенного текста получает следующее:
Array
(
[0] => Array
[0] => img src="/images/rus.gif" alt="" class="ina">
[1] => img src="/images/eur.gif" alt="" class="ina">
[2] => img src="/images/usa.gif" alt="" class="ina">
[3] => img src="/images/jap.gif" alt="">
)
[1] => Array
[0] => /images/rus.gif
[1] => /images/eur.gif
[2] => /images/usa.gif
[3] => /images/jap.gif
[2] => Array
[0] => class="ina"
[1] => class="ina"
[2] => class="ina"
[3] =>
DeL Esprit, проверьте правильность порядка параметров функции iconv
string iconv ( string in_charset, string out_charset, string str )
(может действительно спать пора, в первом и пятом постах топика Вы указываете разный порядок)
Дважды нужно применять регулярку потому, что так называемых "висячих предлогов" может быть несколько подряд.
Например такое предложение: "Он и сам мог справиться, но и от помощи не стал отказываться."
Если приведенная ТС регулярка уже использовала какие-то символвы строки в найденной подстроке, они уже не будут использоваться для дальнейшего поиска.
Поэтому после первого прохода по строке получается вот так
"Он и сам мог справиться, но и от помощи не стал отказываться."
И чтоб заменить оставшийся пробел, приходится применять замену еще раз
Ни один из предложенных примеров не решает этой проблем за один раз.
Все они способны сделать полную замену только после двух применений.
Но решение есть, например такое:
В результате после однократного применения получается такая строка
"Он и сам мог справиться, но и от помощи не стал отказываться."
Эта регулярка включает в найденное только "предлог" и пробел после него, но одновременно (не включая в найденное) проверяя наличие пробельного символа перед "предлогом" и текстовый символ после пробела за "предлогом".