[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите переделать код для wordpress через массив
Bahus
$urlcom='7878.ru';
$url=get_comment_author_url( $comment_ID );
if (strpos($url, $urlcom) !== false)

printf( '<cite class="fn" itemprop="creator">%1$s</cite>',
get_comment_author_link(),
// Adds Post Author to comments posted by the article writer
( $comment->user_id === $post->post_author ) ? '<span> ' . __( 'Post author', 'themonic' ) . '</span>' : ''
);
else
printf( '<cite class="fn" itemprop="creator">%1$s</cite>',
get_my7_comment_author_link(),
// Adds Post Author to comments posted by the article writer
( $comment->user_id === $post->post_author ) ? '<span> ' . __( 'Post author', 'themonic' ) . '</span>' : ''
);


Как переделать код на массив, чтобы проверялись все адреса до совпадения, указанные в списке, а не как сейчас только 7878.ru
Bahus
Цитата (Kusss @ 15.02.2016 - 00:07)
http://www.html.by/threads/22082-poisk-v-s...enij-iz-massiva

Нужно точное вхождение фразы, а не одного символа.
Kusss
$urlcom= array('7878.ru', '3434.ru', '555.ru', '666.ru');
$url=get_comment_author_url( $comment_ID );
$search = false;
foreach ($urlcom AS $value){
if (strpos($url, $value) !== false)
$search = true;
}
if ($search) {
// найдено
} else {
// не найдено
}
Bahus
Цитата (Kusss @ 15.02.2016 - 00:23)
$urlcom= array('7878.ru', '3434.ru', '555.ru', '666.ru');
$url=get_comment_author_url( $comment_ID );
$search = false;
foreach ($urlcom AS $value){
  if (strpos($url, $value) !== false)
      $search = true;
}
if ($search) {
  // найдено
} else {
  // не найдено
}

Уважуха за помощь. Плюсик в карму прилетел. :)
Bahus
Kusss
Если адреса брать из тексторвого файла. Каждый адрес на отдельной строке.
$urlcom = file("text.txt"); 
for($i = 0; $i < count($arr); $i++)
{
echo $arr[$i]."<br />";
}
$url=get_comment_author_url( $comment_ID );
$search = false;
foreach ($urlcom AS $value){
if (strpos($url, $value) !== false)
$search = true;
}
if ($search) {
//Да
} else {
// Нет
}

Код корректен?
Kusss
вполне.
Цитата (Bahus @ 15.02.2016 - 09:21)
  for($i = 0; $i < count($arr); $i++)
  {
    echo $arr[$i]."<br />";
  }

это для проверки ?
Bahus
Цитата (Kusss @ 15.02.2016 - 11:24)
вполне.
Цитата (Bahus @ 15.02.2016 - 09:21)
  for($i = 0; $i < count($arr); $i++)
  {
     echo $arr[$i]."<br />";
  }

это для проверки ?

Нашел готовый. unsure.gif Поэтому и спрашиваю. Познаний в php очень мало. А сделать надо.
Kusss
Цитата (Bahus @ 15.02.2016 - 09:21)
  for($i = 0; $i < count($arr); $i++)
  {
    echo $arr[$i]."<br />";
  }

это лишнее в данном скрипте.
$urlcom = file("text.txt");
даст тебе нужный массив. главное чтобы была каждая запись на новой строке.
А лучше сделать в отдельной таблице, вместо файла. Будет проще добавлять/редактировать.
Bahus
Цитата (Kusss @ 15.02.2016 - 17:33)
Цитата (Bahus @ 15.02.2016 - 09:21)
  for($i = 0; $i < count($arr); $i++)
  {
     echo $arr[$i]."<br />";
  }

это лишнее в данном скрипте.
$urlcom = file("text.txt");
даст тебе нужный массив. главное чтобы была каждая запись на новой строке.
А лучше сделать в отдельной таблице, вместо файла. Будет проще добавлять/редактировать.

Так и текстовый файл отредактировать ничего сложного. С учетом того, что это будет дай бог раз в месяц. Может и реже.
Bahus
Цитата (Kusss @ 15.02.2016 - 17:33)
Цитата (Bahus @ 15.02.2016 - 09:21)
  for($i = 0; $i < count($arr); $i++)
  {
     echo $arr[$i]."<br />";
  }

это лишнее в данном скрипте.
$urlcom = file("text.txt");
даст тебе нужный массив. главное чтобы была каждая запись на новой строке.

Не работает. Прописал адрес до файла и каждый сайт в файле на своей строке.

Работает только вариант с массивом в строку
$urlcom= array('123.ru', '456.ru', '555.ru', '666.ru');
$url=get_comment_author_url( $comment_ID );
$search = false;
foreach ($urlcom AS $value){
if (strpos($url, $value) !== false)
$search = true;
}
if ($search) {
Да верно
} else {
Нет не верно
}
Kusss
ну ты выведи оба массива для проверки, и посмотри что не так.
echo '<pre>';
$urlcom1= array('123.ru', '456.ru', '555.ru', '666.ru');
print_r($urlcom1);
$urlcom2 = file("text.txt");
print_r($urlcom2);
die();
Bahus
Параллейльный вопрос. Есть функция вывода количества комментариев оставленных комментатором. Куда вставить код вывода функции
<?php author_comment_count(); ?>

в код
   printf( '<cite class="fn" itemprop="creator">%1$s</cite>',
get_comment_author_link(),
// Adds Post Author to comments posted by the article writer
( $comment->user_id === $post->post_author ) ? '<span> ' . __( 'Post author', 'themonic' ) . '</span>' : ''
);

чтобы было
Цитата
Ввасек (200 комментариев)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.