Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Регулярка наверно
Медведь  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 4 месяца
Карма: 27




Надо сделать так, посоветуйте алгоритм.


Алтайский край
Амурская область
Архангельская область
Астраханская область

Белгородская область
Брянская область

Владимирская область
Волгоградская область


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 8 дней
Карма: 70




Так на вскидку, разобрать текст по переводу строки через explode тот же.
Потом форычем заменять первую букву. Рядом делать еще один массив с буквами, которые уже были заменены.

$буква = 'первая буква';
if (empty($массив[$буква])) {

//тут заменить

$массив[$буква] = true;

}


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 21 день
Карма: 167




можно при помощи CSS (первая литера абзаца)
можно на этапе вывода вычленять отдельным спаном
можно даже SQL нахлабучить

а теперь вопрос... нужна ли тут регулярка?

Цитата (Arh @ 26.12.2015 - 11:34)
Потом форычем заменять первую букву. Рядом делать еще один массив с буквами, которые уже были заменены.

ай мамочки smile.gif


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 8 дней
Карма: 70




Valick
Цитата
ай мамочки

php головного мозга laugh.gif


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Медведь, если дело в том как оформить, то CSS без вариантов.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 4 месяца
Карма: 27




Цитата (chee @ 26.12.2015 - 13:10)
Медведь, если дело в том как оформить, то CSS без вариантов.

Из базы у меня выдёргивается так, точнее массив:

Алтайский край
Амурская область
Архангельская область
Астраханская область
Белгородская область
Брянская область
Владимирская область


Понятно, что это будет css, но чтобы сделать стиль для конкретной буквы, я так понимаю без php никак?


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 12 дней
Карма: 77




?>
<style>
div.first:first-letter {
color: red; /* Красный цвет первой буквы */
}
</style>
<?php
$array = array(
'Алтайский край',
'Амурская область',
'Архангельская область',
'Астраханская область',

'Белгородская область',
'Брянская область',

'Владимирская область',
);


foreach ($array AS $value){
$first = substr($value, 1, 1);

$class = ($first != $old) ? 'first' : '';
echo '<div class="'.$class.'">'.$value.'</div>';

$old = $first;
}
убрал отступ с края

Это сообщение отредактировал Kusss - 26.12.2015 - 13:49
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 21 день
Карма: 167




Kusss, я бы всётаки вложенный <p> заюзал


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1357
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 12 дней
Карма: 77




Valick
это как ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 4 месяца
Карма: 27




foreach ($array AS $value){
$first = substr($value, 1, 1);

if(isset($old) {
$text = '<p>';
$old = ':)';
}

if($first != $old) {
$text. = '</p><p>';
}

$text. = $value;
$old = $first;
}


Так?


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40





<?php
$items = array(
'Алтайкский край',
'Амурская область',
'Архангельская область',
'Астраханская область',
'Белгородская область',
'Брянская область',
'Владимирская область',
'Волгоградская область ',
);


$blocks = array();
foreach ($items as $item) {
$blocks[mb_substr($item, 0, 2)][] = $item;
}


<html>
<head>
<title>
TODO supply a title</title>
<meta
charset="UTF-8">
<meta
name="viewport" content="width=device-width, initial-scale=1.0">
<style>

p {
font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта основного текста */
font-size: 90%; /* Размер шрифта */
}
P:first-letter {
font-family: "Times New Roman", Times, serif; /* Гарнитура шрифта первой буквы */
font-size: 200%; /* Размер шрифта первого символа */
color: red; /* Красный цвет текста */
}
</style>
</head>
<body>
<div>
<?php
var_dump($blocks);?>
<?php
foreach ($blocks as $items) : ?>
<p>
<?php
foreach ($items as $item) : ?>
<?php
echo $item; ?><br/>
<?php
endforeach; ?>
</p>
<?php
endforeach; ?>
</div>
</body>
</html>



Я не знаю что там у тебя с кодировкой, но почему первый символ нужно выбирать 2ой длиной, хотя по правильному это нужно делать длиной равной 1.

Я про эту строчку

$blocks[mb_substr($item, 0, 2)][] = $item;

Если бы кодировка был UTF-8, то нужно было бы сделать так

$blocks[mb_substr($item, 0, 1)][] = $item;


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 4 месяца
Карма: 27




Цитата (chee @ 26.12.2015 - 13:57)

Я не знаю что там у тебя с кодировкой, но почему первый символ нужно выбирать 2ой длиной, хотя по правильному это нужно делать длиной равной 1.

Я про эту строчку

$blocks[mb_substr($item, 0, 2)][] = $item;

Если бы кодировка был UTF-8, то нужно было бы сделать так

$blocks[mb_substr($item, 0, 1)][] = $item;

utf-8 как-бы, с DB, сами файлы, и в html указано wink.gif Низнаю почему


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Медведь, может конечно у меня что-то с кодировкой при копировании отсюда получилось не так, ну то решение которое я дал, полностью рабочее.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 4 месяца
Карма: 27





Всем спасибо, буду пробовать.

Чтобы создать стиль для первой буквы абзаца, :first-letter может кому пригодится.


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса